+ /**
+ * Allows passwords to be stored encrypted in the database. Just implement this
+ * function and return a digest of the supplied password. This function should always
+ * return the same digest for the same password.
+ *
+ * @param aPassword The password to be digested
+ * @return The digested password
+ */
+ public String makePasswordDigest(String aPassword);
+
+ /**
+ * Allows different "generators" (templates) to be used for certain pages
+ *
+ * @param aPage The identifier of the page
+ * @param aUser the user (can be used to allow different users to see different pages
+ * @param aDefault The default generator
+ * @return
+ */
+ public String getAdminPageGenerator(String aPage, Map aTemplateData, EntityAdapter aUser, String aDefault) throws MirLocalizerExc;
+
+ /**
+ * Prepares an article preview
+ *
+ * @param aPreviewPage there may be different preview pages for a single article.
+ * (i.e. the same article may lead to different pages) this parameter selects one
+ * of those versions. See also {@link #getPreviewPages}.
+ * @param anArticle the article to be previewed
+ * @param aContext the context to be supplied to the generator
+ * @return the generator to be used to generate the preview
+ */
+ public Generator prepareArticlePreview(String aPreviewPage, EntityAdapter anArticle, Map aContext)
+ throws MirLocalizerExc, MirLocalizerFailure;
+
+ /**
+ * Return the available preview variations of one article
+ */
+ public List getPreviewPages(EntityAdapter anArticle) throws MirLocalizerExc, MirLocalizerFailure;
+
+ /**
+ * Get the {@link List} of {@link EntityOperation}s available for comments
+ */