source: main/waeup.kofa/trunk/docs/source/userdocs/documents.rst @ 13144

Last change on this file since 13144 was 13144, checked in by Henrik Bettermann, 9 years ago

More docs and adjustments in Python code.

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