opmjsonupdateeditor
From Free Pascal wiki
Online Package Manager External Update json Editor
Screenshots
Purpose
- To make and maintain package information for Online Package Manager easily, accurately and quickly.
Installation
- There is a Windows Installer and a Zipfile of Linux executables (see Download below) available.
- Source code is also available to compile with Lazarus v1.62+ and FPC v3.00+ (best with Laz1.7+/fpc3.11+)
Directory Structure
- JsonEditor is designed to be deployed in the same folder as your component.
- If you maintain multiple components, a copy of JsonEditor should be deployed in the main folder of each one.
- Each copy of JsonEditor will maintain its own distinct cfg file in the GetAppConfigDir location.
- When first started up, JsonEditor will make the subfolders:
- \updates - \locale
- Suggested structure for your component:
- \componentfolder - \componentfolder\stable_version - \componentfolder\stable_version\updates - \componentfolder\stable_version\locale
- \componentfolder - contains the working version of your component code
- \componentfolder\stable_version - contains the published version, and also a copy of JsonEditor(.exe)
- \componentfolder\stable_version\updates - contains the update json and update Zipfile
- \componentfolder\stable_version\locale - contains the language files for JsonEditor
- This works very well in practise, especially if your project is under version control (svn, github etc)
Making a new OnlinePackageManager update json
- Fire up JsonEditor and fill in all the fields for your package.
- It is essential that the package lpk name exactly matches the one already installed in OPM, otherwise you can choose whatever filenames you like.
- The first time you use JsonEditor, a pop-up hint window will show you what each field is for.
- When you click [Save], if any field needs amending a dialog will tell you what is wrong, and problem fields will highlight.
- Only a validated json will be saved to disk.
- By default the json is named update_<zipfilename>.json and saved to the \updates folder
- JsonEditor will also offer to copy the Zipfile to the \updates folder if it was in a different folder
- JsonEditor will offer to Auto-Load the same component info when it is next opened.
- If you have a multiple components entry in OPM (e.g. Designtime and Runtime), you can make an update_json file for them all (Click [Add] in JsonEditor)
- Each can have its own version number and other characteristics
- Finally, upload the Zipfile and json file to a place where OnlinePackageManager can find it.
Maintaining a package with OnlinePackageManager
- Make a new update Zipfile and put it into the \updates folder
- Fire up JsonEditor and click File/Load
- If Auto-Load was chosen, it will already have loaded the last-saved package info
- Update the version info for your package(s) and click [Save]
- If your update doesn't involve a new version number, just click the "Force Notify" checkbox, and increment the "Internal Version"
- Finally, upload the Zipfile and json file to a place where OPM can find it.
Licence
- JsonEditor is published under a general GPL license.