No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc remove typo's and change culturizeapp to CultURIze Oct 2, 2018
src improved logging + corrected issues related to compatibility between os Jan 9, 2019
static smaller version for readme Jan 22, 2019
.gitignore correcting compatibility issues with Linux Jan 9, 2019
Changelog changelog change Jan 25, 2019
LICENSE Initial commit Jul 9, 2018 resize titles Jan 24, 2019
package-lock.json improved logging + corrected issues related to compatibility between os Jan 9, 2019
package.json improved logging + corrected issues related to compatibility between os Jan 9, 2019
tsconfig.json Changing compilation directory to app Jul 12, 2018
tslint.json Linting update Jul 18, 2018


This is the GitHub repo for Culturize.


Copyright (c) 2019 PACKED vzw.

All content in this repository is released under the CC-BY-SA License. The code of the Culturize Desktop App is released under the MIT License.


CultURIze is a four-step process to make persistent URI's for collection items, using a spreadsheet to record persistent URI's, a desktop app to turn it in a .htaccess file, and a Githubrepo/CircleCI script to automate the configuration of an Apache webserver.

CultURIze is made for registrars, curators and managers of small to medium heritage collections.

More information about inspiration, governance, and howto's for setting up a Culturize workflow are available on the CultURIze Wiki

CultURIze relies on

Getting Started


(Windows installer instructions)



This file contains instruction for whoever wants to setup a fork of this project and distribute it to others.

How to setup a fork of the Culturize App

0. What you'll need

  • Git (Used both to clone the repo, and as a dependency of the Culturize App that isn't downloaded by npm)
  • Node.js
  • 15 minutes of your time

1. Fork the Repo on GitHub, and clone it on your local machine.

To fork the repo, click on the "Fork" button in the top right corner. How-to-fork

Once it's done, navigate to your fork's page on GitHub and click on the green "Clone or Download" button and copy the link.

Now, open your command prompt, navigate to your working directory and type the following commands:

  • git clone and paste your fork's url.
  • cd CultURIze

2. Downloading the dependencies

Once you have completed the previous steps, you should have a command prompt open with the current working directory being the CultURIze folder. If that's the case, type npm install. This will download everything you need in for the app to work.

3. Obtaining API Keys and Configuring the app

Navigate to the CultURIze folder in your file explorer, go to src and locate culturize.conf.example.ts, duplicate this file and remove the .example. You should now have 2 files culturize.conf.example.ts and culturize.conf.ts. Open culturize.conf.ts with your favorite editor and locate theses 2 lines:

   * The client ID given by GitHub when you registered the app.
   * @static 
  static clientID: string = "";

   * The client secret given by GitHub when you registered the app.
   * @static 
  static clientSecret: string = "";

You WILL need to fill theses values with your API keys. To obtain API Keys, go to this page. Now, fill the form with the following information:

  • Application Name: CulturizeApp (Note: you can use a variation of the name, or even use your organization's name. It does not matter)
  • Homepage URL: If you have a website, use your website's URL, if you don't, use the link to the GitHub repo of the project.
  • Application Description: Again, you're free to type what you want. Usually, you'll want to mention that this is a fork/variation of the Culturize App.
  • Authorization callback URL: This is a bit more important, you'll need to type https://localhost. Do not use any other URL.

Once you click "Register Application", you should have your Client ID and Client Secret right in front of you. Copy them and paste them between the quotes in their respective place in the config file. The final result should look like this: Keys

Now, save the file and close it.

4. Checking if everything works

Go back to your command prompt and type npm start. You should see some commands being run and a few seconds later, you should be greeted with a screen like this: loginpage

Try to click the login button, after a few seconds, a popup should appear, prompting you to fill in your credentials. When you're done, click on "Sign-In". The popup should close automatically and you should be redirected to this page:


If that's the case, congratulation! The hardest part is done! Else, if you get a login error even if your credentials were correct, review what you did in step 3 carefully. Maybe your API keys are not valid!

5: Hosting

A: Use an existing solution

  • If your file are small enough (<100 redirections), you can use a existing organisation's GitHub repo such as W3ID's. Just paste this link in the "Push the changes to:" field when using the app and you'll be good to go! But be aware, you won't control what goes in the repo. They will decide if they want to accept your changes or not, and they might refuse!

B: Your own solution

    1. Create a new GitHub repo where users will be able to make Pull Requests This is simple as the repo does not require any boilerplate. Just create a new GitHub repo. If you want your repo to be the default one for the users of your fork, you can go in the culturize.conf.ts file and locate the repo variable in PublishFormDefaults. Copy-paste the link to your repo between the quotes and now your repo should be the default one that the users will see when opening the app.
    1. Setup continuous integration between your repo and a server You'll probably want to have the changes live as soon as possible once the server is updated. For that, you can setup CI solution such as CircleCI. Also: Don't forget to allow mod_rewrite on your Apache server!

6: Packaging/Distributing the App



  • oSoc18 team: Bert Schoovaerts, Pierre Van Houtryve, Marie Devos, Milena Vergara Santiago
  • OKBE: Brecht Van de Vyvere, Eveline Vlassenroot
  • PACKED: Bert Lemmens, Alina Saenko, Lode Scheers, Nastasia Vanderperren
  • Deuze: Maxime Deuze