[12829] | 1 | .. _documents: |
---|
| 2 | |
---|
[12908] | 3 | Public Documents :sup:`in progress` |
---|
[13136] | 4 | *********************************** |
---|
| 5 | |
---|
[13144] | 6 | The documents section of Kofa is a tiny built-in content management |
---|
| 7 | system (CMS), which has been developed mainly for publishing |
---|
| 8 | announcements, adverts, instructions or general information provided |
---|
| 9 | by the university to inform prospective students about application |
---|
| 10 | and registration procedures. |
---|
[13136] | 11 | |
---|
[13144] | 12 | Technically speaking, the documents section is a container of type |
---|
| 13 | `DocumentsContainer` with id ``documents``, which is located in the |
---|
| 14 | `IUniversity` instance and which contains documents. There are three |
---|
| 15 | types of public documents:: |
---|
[13136] | 16 | |
---|
| 17 | Public Documents (DocumentsContainer) |
---|
| 18 | | |
---|
| 19 | +---> PDFDocument |
---|
| 20 | | |
---|
| 21 | +---> HTMLDocument |
---|
| 22 | | |
---|
| 23 | +---> RESTDocument |
---|
| 24 | |
---|
[13144] | 25 | The first can be used to provide pdf files for download. The second |
---|
| 26 | and third can be used to create multilingual static html pages on |
---|
| 27 | the portal. HTML documents expect html coded text as input, REST |
---|
[13145] | 28 | documents expect `reStructuredText <http://docutils.sf.net/rst.html>`_ |
---|
| 29 | which is transformed into html. |
---|
[13136] | 30 | |
---|
| 31 | Interfaces |
---|
| 32 | ========== |
---|
| 33 | |
---|
[13144] | 34 | The base for all three document interfaces is `IPublicDocument` |
---|
| 35 | which inherits from `IDocument`. All attributes are read-only |
---|
| 36 | properties, i.e. attributes with a getter method only. These |
---|
| 37 | properties are computed dynamically and can't be set. Only the |
---|
[13145] | 38 | `document_id` and the `title` can be entered on form pages or can be |
---|
[13144] | 39 | imported. |
---|
[13136] | 40 | |
---|
| 41 | .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py |
---|
| 42 | :pyobject: IDocument |
---|
| 43 | |
---|
| 44 | .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py |
---|
| 45 | :pyobject: IPublicDocument |
---|
| 46 | |
---|
[13144] | 47 | A PDF Document further specifies which pdf files are connected to |
---|
| 48 | the object. Usually, only one filename is in the `filenames` tuple. |
---|
[13136] | 49 | |
---|
| 50 | .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py |
---|
| 51 | :pyobject: IPDFDocument |
---|
| 52 | |
---|
[13144] | 53 | HTML and REST documents have a schema field for multi-lingual |
---|
| 54 | content in HTML or in REST format respectively, see :ref:`note |
---|
| 55 | <multilingual>`. The hidden `html_dict` attributes contain the same |
---|
| 56 | information after saving the form, but the sequence of language |
---|
| 57 | translations has been split up and copied into a dictionary for |
---|
| 58 | faster processing. |
---|
[13136] | 59 | |
---|
| 60 | .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py |
---|
| 61 | :pyobject: IHTMLDocument |
---|
| 62 | |
---|
| 63 | .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py |
---|
| 64 | :pyobject: IRESTDocument |
---|
| 65 | |
---|
| 66 | |
---|
[13144] | 67 | Workflow |
---|
| 68 | ======== |
---|
[13136] | 69 | |
---|
[13144] | 70 | Public documents have a publication workflow with two states: |
---|
| 71 | created and published. Only the content or attached files of |
---|
| 72 | published documents can be seen by anonymous users:: |
---|
[13136] | 73 | |
---|
[13144] | 74 | a |
---|
| 75 | created ----------- published |
---|
[13136] | 76 | |
---|
[13144] | 77 | a: publish |
---|
| 78 | -a: retract |
---|
| 79 | |
---|
| 80 | History & Logging |
---|
| 81 | ================= |
---|
| 82 | |
---|
| 83 | All transitions are automatically logged in ``main.log`` and the |
---|
| 84 | document's history. This is a sample history of public document:: |
---|
| 85 | |
---|
| 86 | 2015-07-05 07:31:32 UTC - Document created by Admin |
---|
| 87 | 2015-07-05 07:31:53 UTC - Document published by Admin |
---|
| 88 | 2015-07-05 07:31:57 UTC - Document retracted by Admin |
---|
| 89 | |
---|
| 90 | The corresponding logfile excerpt is as follows:: |
---|
| 91 | |
---|
| 92 | 2015-07-05 09:31:32,848 - INFO - admin - demodoc - Document created |
---|
| 93 | 2015-07-05 09:31:32,850 - INFO - admin - documents.browser.DocumentAddFormPage - added: HTML Document demodoc |
---|
| 94 | 2015-07-05 09:31:39,025 - INFO - admin - documents.browser.HTMLDocumentManageFormPage - demodoc - saved: html_multilingual |
---|
| 95 | 2015-07-05 09:31:43,279 - INFO - admin - documents.browser.HTMLDocumentManageFormPage - added: benny|waeup.local.DocumentManager |
---|
| 96 | 2015-07-05 09:31:53,152 - INFO - admin - demodoc - Document published |
---|
| 97 | 2015-07-05 09:31:57,216 - INFO - admin - demodoc - Document retracted |
---|
| 98 | 2015-07-05 09:32:46,679 - INFO - admin - documents.browser.DocumentsContainerManageFormPage - removed: demodoc |
---|
| 99 | |
---|
| 100 | |
---|
| 101 | Quick Guide |
---|
[13136] | 102 | =========== |
---|
| 103 | |
---|
[13144] | 104 | How to add and reference an HTML document |
---|
| 105 | ----------------------------------------- |
---|
[13136] | 106 | |
---|
[13144] | 107 | 1. Click *Documents > Manage > Add document*. |
---|
| 108 | 2. Select *HTML Document*, fill fields and press *Add document*. |
---|
| 109 | 3. Enter multilingual content in HTML format and press *Save*. |
---|
| 110 | 4. Click *View > Transition*. |
---|
| 111 | 5. Select *Publish document* and press *Save*. |
---|
[13136] | 112 | |
---|
[13144] | 113 | The document is now published and available to anonymous users. |
---|
[13136] | 114 | |
---|
[13144] | 115 | 6. Mark and copy the HTML Element provided on the page: |
---|
| 116 | ``<a href= ... /a>``. |
---|
| 117 | 7. Open another HTML document or a page with multilingual content |
---|
| 118 | and paste the element where needed. |
---|
[13136] | 119 | |
---|
| 120 | |
---|
[13144] | 121 | How to add and reference a PDF document |
---|
| 122 | --------------------------------------- |
---|
| 123 | |
---|
| 124 | 1. Click *Documents > Manage > Add document*. |
---|
| 125 | 2. Select *PDF Document*, fill fields and press *Add document*. |
---|
| 126 | 3. Select *Files* and upload a pdf file from your computer. |
---|
| 127 | 4. Click *View > Transition*. |
---|
| 128 | 5. Select *Publish document* and press *Save*. |
---|
| 129 | |
---|
| 130 | The document and the connected pdf file are now published and |
---|
| 131 | available to anonymous users. |
---|
| 132 | |
---|
| 133 | 6. Open the HTML source with your browser, search for the ``a`` |
---|
| 134 | element |
---|
| 135 | 7. Mark and copy the HTML element found: |
---|
| 136 | ``<a target="image" href= ... /a>``. |
---|
| 137 | 8. Open another HTML document or a page with multilingual content |
---|
| 138 | and paste the element where needed. |
---|