Moved content of style attributes to main.less or the stylesheet skins of Root and Site.
Adapted original Antville colors for some of UIKits elements (e.g. primary button, default alert, pagination) and the Jala calendar
* Disburdened constructor methods of most of the prototypes by moving most of the code to the new static add() method.
* Added temporary debugging method HopObject.confirmConstructor() to log a warning whenever a constructor is directly called – in which case it should be checked if the static add() method is to be preferred.
* Removed obsolete code in Poll.edit_action() method.
* Removed “extras” code because I just forgot I already implemented a Feature prototype
* Added global <% feature %> macro calling the main() method of the desired feature
* Added Feature.getPermission() method which can be invoked from HopObject.getPermission()
* Refactored connect feature to work with modified Feature prototype
* Added global app.data.extras collection and registerExtra() method
* Defined res.handlers.extra in HopObject.onRequest() handler to provide extra macros
* Implemented reCAPTCHA for anonymously contacting an Antville member as proof of concept
* If comment contains a child comment set its status to DELETED, erase metadata (content) and prevent macro calls to display creator or modifier
* Otherwise – or if status already equals DELETED – completely remove it and its children from the database
* Removed numbered, footnote-like links in most of the noficitaion messages
* Added prefix to subjects of notification mails (like “[Antville] ...”) for convenience
* Added markgettext() calls for most of the prototype names and their plural forms – this time in each corresponding prototype file, though
* Added options argument to global sendMail() method, currently only to switch inclusion of generic footer in mail body
* Fix bug in Membership.contact_action() method when an unknown (i.e. unregistered or unsubscribed) user tries to send a message via contact form
* Unified naming of notify skins (e.g. #notify_delete instead of #notify_deletion)
* Updated and rebuilt i18n and message files
* Slightly modified the message informing about successful deletion of an object
* Fixed type when calling Membership.remove() in Site.unsubscribe_action() method
* Fixed bug causing exception when calling Membership.remove() method with no arguments
* FIxed still incorrect permissions for editing and deleting a membership
* Slightly increased sizes of some input elements for convenience
* Added SQL patch updating constraints of the membership role column (MySQL)
* Removed obsolete title and description properties from Layout
* Minor layout enhancements and wording edits
* Added markgettext_macro()
* Readjusted Admin.dropdown_macro() and the global defineConstants() methods to work with the modified markgettext() calls
* Updated Members.properties and added SQL patch for lowercasing all membership status due to the modified margettext() calls
* Added Membership.role_macro() as convenience method
* Removed syntactic sugar from HopObject.link_macro() and moved it to the compatibility layer to prevent current layouts from breaking
* Removed obsolete permission for non-existing Image.replace_action()