Changeset 13144
- Timestamp:
- 7 Jul 2015, 05:21:14 (9 years ago)
- Location:
- main/waeup.kofa/trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk/docs/source/userdocs/applicants/workflow.rst
r13099 r13144 63 63 =================== 64 64 65 All transitions are automatically logged in applicants.logand the65 All transitions are automatically logged in ``applicants.log`` and the 66 66 applicant's history. And also the import of workflow states is 67 67 recorded in the logfile and the history, see :ref:`student_history` -
main/waeup.kofa/trunk/docs/source/userdocs/datacenter/export.rst
r13104 r13144 125 125 .. autoattribute:: waeup.kofa.hostels.export.BedExporter.title 126 126 127 Document Exporter 128 ----------------- 129 130 .. autoclass:: waeup.kofa.documents.export.DocumentExporterBase() 131 132 .. automethod:: waeup.kofa.documents.export.DocumentExporterBase.mangle_value() 133 127 134 Application Data Exporters 128 135 ========================== -
main/waeup.kofa/trunk/docs/source/userdocs/datacenter/import_processors.rst
r13003 r13144 88 88 :noindex: 89 89 90 Document Processor 91 ------------------ 92 93 .. autoclass:: waeup.kofa.documents.batching.DocumentProcessorBase() 94 :noindex: 95 90 96 Application Data Processors 91 97 =========================== -
main/waeup.kofa/trunk/docs/source/userdocs/documents.rst
r13136 r13144 4 4 *********************************** 5 5 6 The documents section of Kofa is a tiny built-in content management system (CMS), which has been developed mainly for publishing announcements, adverts, instructions or general information provided by the university to inform prospective students about application and registration procedures. 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. 7 11 8 Technically speaking, the documents section is a container of type `DocumentsContainer` with id ``documents``, which is located in the `IUniversity` instance and which contains documents. There are three types of public documents:: 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:: 9 16 10 17 Public Documents (DocumentsContainer) … … 16 23 +---> RESTDocument 17 24 18 The first can be used to provide pdf files for download. The second and third can be used to create multilingual static html pages on the portal. HTML documents expect html coded text as input, REST documents expect reStructuredText which is transformed into html. Public documents have a publication workflow with two states: created and published. Only published documents can be seen by anonymous users. 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 28 documents expect reStructuredText which is transformed into html. 19 29 20 30 Interfaces 21 31 ========== 22 32 23 The base for all three document interfaces is `IPublicDocument` which inherits from `IDocument`. All attributes are read-only properties, i.e. attributes with a getter method only. These properties are computed dynamically and can't be set. Only the document id and the title can be entered on form pages or imported. 33 The base for all three document interfaces is `IPublicDocument` 34 which inherits from `IDocument`. All attributes are read-only 35 properties, i.e. attributes with a getter method only. These 36 properties are computed dynamically and can't be set. Only the 37 document id and the title can be entered on form pages or can be 38 imported. 24 39 25 40 .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py … … 29 44 :pyobject: IPublicDocument 30 45 31 A PDF Document further specifies which pdf files are connected to the object. Usually, only one filename is in the `filenames` tuple. 46 A PDF Document further specifies which pdf files are connected to 47 the object. Usually, only one filename is in the `filenames` tuple. 32 48 33 49 .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py 34 50 :pyobject: IPDFDocument 35 51 36 HTML and REST documents have schema field for multi-lingual content in HTML or in REST format respectively, see :ref:`note <multilingual>`. The hidden `html_dict` attributes contain the same information, but the sequence of language translations has been split up and copied into a dictionary for faster processing. 52 HTML and REST documents have a schema field for multi-lingual 53 content in HTML or in REST format respectively, see :ref:`note 54 <multilingual>`. The hidden `html_dict` attributes contain the same 55 information after saving the form, but the sequence of language 56 translations has been split up and copied into a dictionary for 57 faster processing. 37 58 38 59 .. literalinclude:: ../../../src/waeup/kofa/documents/interfaces.py … … 43 64 44 65 45 Workflow & History46 ======== ==========66 Workflow 67 ======== 47 68 48 Browser Pages 49 ============= 69 Public documents have a publication workflow with two states: 70 created and published. Only the content or attached files of 71 published documents can be seen by anonymous users:: 50 72 51 Data Export 73 a 74 created ----------- published 75 76 a: publish 77 -a: retract 78 79 History & Logging 80 ================= 81 82 All transitions are automatically logged in ``main.log`` and the 83 document'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 89 The 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 100 Quick Guide 52 101 =========== 53 102 54 Data Import55 =========== 103 How to add and reference an HTML document 104 ----------------------------------------- 56 105 57 Logging 58 ======= 106 1. Click *Documents > Manage > Add document*. 107 2. Select *HTML Document*, fill fields and press *Add document*. 108 3. Enter multilingual content in HTML format and press *Save*. 109 4. Click *View > Transition*. 110 5. Select *Publish document* and press *Save*. 111 112 The document is now published and available to anonymous users. 113 114 6. Mark and copy the HTML Element provided on the page: 115 ``<a href= ... /a>``. 116 7. Open another HTML document or a page with multilingual content 117 and paste the element where needed. 59 118 60 119 120 How to add and reference a PDF document 121 --------------------------------------- 61 122 123 1. Click *Documents > Manage > Add document*. 124 2. Select *PDF Document*, fill fields and press *Add document*. 125 3. Select *Files* and upload a pdf file from your computer. 126 4. Click *View > Transition*. 127 5. Select *Publish document* and press *Save*. 62 128 129 The document and the connected pdf file are now published and 130 available to anonymous users. 63 131 132 6. Open the HTML source with your browser, search for the ``a`` 133 element 134 7. Mark and copy the HTML element found: 135 ``<a target="image" href= ... /a>``. 136 8. Open another HTML document or a page with multilingual content 137 and paste the element where needed. -
main/waeup.kofa/trunk/src/waeup/kofa/documents/batching.py
r13138 r13144 43 43 44 44 class DocumentProcessorBase(BatchProcessor): 45 """A base for batch processors for IDocument objects. 45 """This is the base class for all kinds of document processors. 46 The `checkConversion` method checks whether `class_name` in a row 47 corresponds with the processor chosen. This is to avoid accidentally 48 wrong imports. 46 49 """ 47 50 grok.implements(IBatchProcessor) -
main/waeup.kofa/trunk/src/waeup/kofa/documents/browser.py
r13138 r13144 36 36 from waeup.kofa.interfaces import MessageFactory as _ 37 37 from waeup.kofa.interfaces import ( 38 IContactForm, IKofaObject, IKofaUtils )38 IContactForm, IKofaObject, IKofaUtils, DOCLINK) 39 39 from waeup.kofa.browser.layout import ( 40 40 KofaPage, KofaEditFormPage, KofaAddFormPage, KofaDisplayFormPage, … … 82 82 pnav = 2 83 83 label = _('Documents') 84 doclink = DOCLINK + '/documents.html' 84 85 85 86 … … 164 165 grok.template('documentpage') 165 166 pnav = 2 167 doclink = DOCLINK + '/documents.html' 166 168 167 169 @property -
main/waeup.kofa/trunk/src/waeup/kofa/documents/browser_templates/htmldocumentpage.pt
r12437 r13144 35 35 </td> 36 36 <td> 37 <a href=" 38 <span tal:replace="python: view.url(context, 'display')"></span>39 "><span tal:replace="context/title">FILENAME</span></a>37 <a href="<span tal:replace="python: view.url(context, 'display')"></span>"><span tal:replace="context/title"> 38 FILENAME 39 </span></a> 40 40 </td> 41 41 </tr> -
main/waeup.kofa/trunk/src/waeup/kofa/documents/export.py
r13134 r13144 29 29 30 30 class DocumentExporterBase(grok.GlobalUtility, ExporterBase): 31 """Exporter for documents. 31 """This is the exporter base class for all kinds of document exporters. 32 Derived classes export all documents of type `class_name` inside the 33 documents container. 34 35 All schema fields and the property attributes 36 `history`, `state`, `class_name` and `users_with_local_roles` 37 are being exported. 32 38 """ 33 39 grok.implements(ICSVExporter) … … 51 57 52 58 def mangle_value(self, value, name, context=None): 53 """Hook for mangling values in derived classes 59 """The mangler prepares the history messages and computes the 60 `users_with_local_roles` value which is a Python expression like: 61 62 ``[{'user_name': u'bob', 'local_role': u'bobsrole'}, 63 {'user_name': u'anna', 'local_role': u'annasrole'}]`` 54 64 """ 55 65 if name == 'users_with_local_roles': -
main/waeup.kofa/trunk/src/waeup/kofa/documents/interfaces.py
r13134 r13144 38 38 history = Attribute('Object history, a list of messages') 39 39 state = Attribute('Workflow state of a document') 40 class_name = Attribute('Name of the document class') 41 42 local_roles = Attribute('List of local role names') 43 translated_class_name = Attribute('Translatable class name of a document') 40 44 translated_state = Attribute('Translatable workflow state of a document') 41 class_name = Attribute('Name of the document class')42 translated_class_name = Attribute('Translatable class name of a document')43 45 formatted_transition_date = Attribute( 44 46 'Last transition formatted date string') 45 47 form_fields_interface = Attribute( 46 48 'Interface which is used in forms for grok.AutoFields') 47 local_roles = Attribute('List of local role names')48 49 49 50 document_id = schema.TextLine( -
main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
r12971 r13144 315 315 316 316 class CourseTicketExporter(grok.GlobalUtility, StudentExporterBase): 317 """The Course Ticket 317 """The Course Ticket Exporter exports course tickets. Usually, 318 318 the exporter first filters the set of students by searching the 319 319 students catalog. Then it collects and iterates over all ``studylevel`` -
main/waeup.kofa/trunk/src/waeup/kofa/university/export.py
r12869 r13144 37 37 38 38 def mangle_value(self, value, name, context=None): 39 """The mangler computes the users_with_local_rolesvalue which39 """The mangler computes the `users_with_local_roles` value which 40 40 is a Python expression like: 41 41
Note: See TracChangeset for help on using the changeset viewer.