An Omeka-S module that adds functions for buildng and managing a hierarcy of items with inheritance. The CDASH application maintains a network that includes Place items which have Document Items as children.
CDASH Document Items are each related to a CDASH Place Item. Each Document item has properties that are generated from properties of that document's place item:
- A map marker that is in the same position as the place
- An automatically-assigned default titles that are constructed with the Name of the Place and the Document's Type. e.g. 77 Mass Ave - MIT Lobby 7 - Exterior View.
- A StreetSort key that allows the items in a CDASH collection to be ordered by street address.
After making updates to one or more Place Items, the CDASH Place Document Data Exchange function (PDIX) syncs up the necessary Document properties whether they need it or not.
The assumption that each Document is related to a single place item makes documents discoverable via the map search and advanced queries. Conversely, if a document is not related to a valid Place Item, that document it will end up being functionally invisible. The CDASH audiing function counts Place and Document Items. It discovers and lists orphaned document items and childless place items.
Various applications outside of CDASH could use lists of Folders and Place Items for including in CDASH Place Marlers in map services or for validating new CDASH items being prepared for uploading.
See general end user documentation for Installing a module
Once installed, this module extends all of your omeka-sites with URL routes as specified in config/module.config.php
. To see these in action, gpo to a site page and add "helloworld" to your site's URL string in your browser. for example:
http://[server]/omeka-s/s/[siteslug]/helloworld
Where [server] is the web server for your Omeka-S installation and [siteslug] is the slug for your site.
If the module is installed correctly, the omeka will invoke the src/controller/HelloController.php
which will present a page generated by the views/hello/index.phtml
template. The index page includes the view/common/hello-form.phtml
form element.
Enter a name in the form and push the Greet button.
When the form is submitted, the URL is extended with the helloworld\greet?name=[yourname]
parameter, and a new page is generated using the views/hello/greet.phtml
template that also includes the hello-form element.
You can add the hello-form.phtml
element to any of your site pages pages in your custom theme.
Continue to hack this module to adjust the controller, routes, partial html pages to do useful things!
Explore the Laminas Modules Tutorial and explore the documentation for the various laminas functions that are included in this module's files.
The Omeka-S developer documentation on Modules provides many essential elements for modules.
The HelloWorld module is free to re-use for any purpose according to the MIT license.