ExtensionsA extension is a collection of php classes, translations, plugins, themes, database tables, administration windows, documentation, help files, acl items, widgets, domain and page properties, custom ka.fields, media files and others.
If you want to extend Kryn.cms base installation then you can this via extensions.
File paths
If you want to develop plugins or custom windows then you need to create a extension class. A extension class is a normal php class extended from baseModule.
Extra PHP classes
When you create extra php classes in your extension, save this please in the scheme above. Please notice, that you add your extension-key to the beginning of the php class, so that no conflicts exists with other extensions.
Translations are stored in little json formatted files under the scheme above. This files are automatically created when you translate your extension with the extension editor.
All properties on a extension like the title, description, version, plugin definitions, database tables, theme definitions, windows links in the extension bar (and therefore acl items), extra js files for administration and so on are stored in this json formatted file.
When you want to save informations in the database, then the system can handle the table schemes for you. Just define the tables with the extension editor and the system creates and alter the tables for you in installations and updates.
Plugins are the interface between the keditor and your extension, so that users can handle with the informations which your extension does provide.
Links (ak Extension links) are entry points to your extensions in the administration area. With links you can define wich path are a framework window, which path are a ACL item or which links are links in the extension bar.
With windows you gives the users the ability to manage data from your extension. For example you can build with the framework own formulars and table lists in just minutes or can build own complexe javascript interfaces.
ACL (access control list) is based on the extension links. With this links you can define entry points to your extension controller - this links are automatically at the same time ACL items. But you can also define own ACL items which aren't entry points, just to define ACL item for the frontend.
Widgets are little framework based tables. This tables are displayed automatically in the Overview window - the user has the ability to display a widget on the desktop for quick and fast overview from data in your extension.
If you want that users can save custom values on domain or page level, then you can define domain or page properties. With this you can define own fields on the properties tab - this are ka.fields with a key and the proper definition.
With this feature you have the ability to extend other (third party) extensions. For example if you want to create an extension which extend the publication (news/blog extension) extension. In more detail: You want to add a new Tab with new fields (and of course database table fields) in the 'News add/edit' window, than you can do this with this feature. You can extend each item in other extension which are stored on the config.json (and this means everything!).
You can publish your extension to the community server when you creating a extension and want to share it with others. You just need a kryn.org account and can upload your extension via your kryn installation. |
What is Kryn.cms ?
Administrator
Developer
|
|||||||||||||||||||||||||||||||||||||||||||||||||