{"CACHEDAT":"2026-04-14 02:26:06","SLUG":"generate-dynamic-qr-codes-NLTrARUZDb","MARKDOWN":"# **QR Code Redirect Sheet – Column Documentation**\n\nThis sheet manages **internal** and **external** QR code destinations, with a global INT/EXT toggle in **A1**.\\nIt combines static values and formulas to build the redirect URLs for the QR code generator.\n\n\n\n| Col | Header | Description | Formula / Type |\n|-----|--------|-------------|----------------|\n| **A** | EXT | Global or per-row flag for link type. `\"EXT\"` means use external/public link, empty means use internal/private link. | *(manual)* |\n| **B** | QR-Code Generator URL | Builds the webhook link for the QR service by appending the **slug** from Col K. | `=CONCAT(\"https://qr.edunet.eu/webhook/0b3576c8-0479-47ad-a354-387ddec1acbf/\",K3)` |\n| **C** | QR-Code Label | Combines **Project** (Col M) with `_QR-` and zero-padded **QR No** (Col D). | `=M3 & \"_QR-\" & TEXT(D3, \"000000\")` |\n| **D** | QR No | Sequential number for the QR code. | *(manual)* |\n| **E** | Target URL → Final Redirect | Chooses the redirect target: if global toggle (A1) = `\"EXT\"` and public link exists (Col J), use **Target URL External** (Col F), else use **Internal URL** (Col G). **If this header changes, update n8n accordingly.** | `=IF(AND($A$1=\"EXT\",J3<>\"\"), F3, G3)` |\n| **F** | Target URL External | Appends **Anchor** (Col I) to the **External / Public Link** (Col J) if present; otherwise outputs \"no external link\". | `=IF(I3<>\"\",CONCATENATE(J3,\"#\",I3),\"no external link\")` |\n| **G** | Internal URL | **Internal link** copied from Outline by clicking the **#** next to a header.
| *(manual)* |\n| **H** | Anchor | Extracts the anchor part from the internal URL (Col G) after the `#`. | `=IFERROR(REGEXEXTRACT(G3, \"#(.+)$\"), \"\")` |\n| **I** | Anchor → URL-Encoded | Replaces ☑ in the anchor with its URL-encoded form so it's safe for URLs. | `=SUBSTITUTE(H3, \"☑\", \"%E2%98%91\")` |\n| **J** | External URL / Public Link | **External/public link** copied from Outline's \"Share → Web\" option.
| *(manual)* |\n| **K** | slug | Combines **Project** (Col M) and the first 8 characters of **MD5** (Col Q). **If this header changes, update n8n accordingly.** | `=M3 & \"-\" & LEFT(Q3,8)` |\n| **L** | Visits | Count of QR code scans, typically imported from analytics. | *(manual / imported)* |\n| **M** | Project | Short name of the project. | *(manual)* |\n| **N** | Platform | System hosting the content (e.g., Wiki). | *(manual)* |\n| **O** | Content | Type of resource (Checklist, Guide, etc.). | *(manual)* |\n| **P** | Lesson Sequence | Links QR to a lesson sequence (if applicable). | *(manual)* |\n| **Q** | MD5 | MD5 hash of the **QR-Code Label** (Col C), used for unique ID and slug. | `=MD5(C3)` |","HTML":"

QR Code Redirect Sheet – Column Documentation

\n

This sheet manages internal and external QR code destinations, with a global INT/EXT toggle in A1.\\nIt combines static values and formulas to build the redirect URLs for the QR code generator.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ColHeaderDescriptionFormula / Type
AEXTGlobal or per-row flag for link type. "EXT" means use external/public link, empty means use internal/private link.(manual)
BQR-Code Generator URLBuilds the webhook link for the QR service by appending the slug from Col K.=CONCAT("https://qr.edunet.eu/webhook/0b3576c8-0479-47ad-a354-387ddec1acbf/",K3)
CQR-Code LabelCombines Project (Col M) with _QR- and zero-padded QR No (Col D).=M3 & "_QR-" & TEXT(D3, "000000")
DQR NoSequential number for the QR code.(manual)
ETarget URL → Final RedirectChooses the redirect target: if global toggle (A1) = "EXT" and public link exists (Col J), use Target URL External (Col F), else use Internal URL (Col G). If this header changes, update n8n accordingly.=IF(AND($A$1="EXT",J3<>""), F3, G3)
FTarget URL ExternalAppends Anchor (Col I) to the External / Public Link (Col J) if present; otherwise outputs "no external link".=IF(I3<>"",CONCATENATE(J3,"#",I3),"no external link")
GInternal URLInternal link copied from Outline by clicking the # next to a header.
(manual)
HAnchorExtracts the anchor part from the internal URL (Col G) after the #.=IFERROR(REGEXEXTRACT(G3, "#(.+)$"), "")
IAnchor → URL-EncodedReplaces ☑ in the anchor with its URL-encoded form so it's safe for URLs.=SUBSTITUTE(H3, "☑", "%E2%98%91")
JExternal URL / Public LinkExternal/public link copied from Outline's "Share → Web" option.
(manual)
KslugCombines Project (Col M) and the first 8 characters of MD5 (Col Q). If this header changes, update n8n accordingly.=M3 & "-" & LEFT(Q3,8)
LVisitsCount of QR code scans, typically imported from analytics.(manual / imported)
MProjectShort name of the project.(manual)
NPlatformSystem hosting the content (e.g., Wiki).(manual)
OContentType of resource (Checklist, Guide, etc.).(manual)
PLesson SequenceLinks QR to a lesson sequence (if applicable).(manual)
QMD5MD5 hash of the QR-Code Label (Col C), used for unique ID and slug.=MD5(C3)
","UPDATEDAT":"2025-11-05T15:28:50.884Z","ID":"aed04203-37d0-4f08-a5db-6ca32f9d29fc","TITLE":"Generate dynamic QR Codes"}