Maarch Framework 3/Developer handbook/Folder

De Maarch // Wiki.

Aller à : Navigation, rechercher
Warning.gif Cette section du wiki est en cours de restructuration et de rédaction. Nous nous excusons pour la gêne occasionnée.
This section of the wiki is under heavy restructuring and writing. We're sorry for the inconvenience.

Sommaire

Summary

Installation

Quick Install

The tables for this module are defined in the file folder/sql/structure/ directory depending on your databasetype, and the mimimal data in the folder/sql/data/ directory. For the moment, we provide only mysql and postgresql scripts, but it is not difficult to build script for other database with existing scripts.

To load the module just add these lines in the apps config.xml file in the <MODULES> section :

<MODULES>
   <moduleid>folder</moduleid>
   <comment>_FOLDERS</comment>
</MODULES>

Make sure the service is active (the <loaded> tag is set to true in folder/xml/config.xml).

Setting

config.xml file

<?xml version="1.0" encoding="utf-8"?>
<root>
	<CONFIG>
		<name>folder</name> <!-- module name : MUST BE THE DIRECTORY NAME OF THE MODULE -->
		<comment>_FOLDER</comment> <!-- Label of the module, defined in the folder language file -->
		<file_prefix>fold</file_prefix>
		<loaded>true</loaded> <!-- must be true otherwise the services will not work -->
	</CONFIG>
	<TABLENAME> <!-- Module specific tables -->
		<fold_folders>folders</fold_folders>>
		<fold_folders_out>folders_out</fold_folders_out>
		<fold_foldertypes>foldertypes</fold_foldertypes>
		<fold_foldertypes_doctypes>foldertypes_doctypes</fold_foldertypes_doctypes>
		<fold_foldertypes_doctypes_level1>foldertypes_doctypes_level1</fold_foldertypes_doctypes_level1>
	</TABLENAME>
	<HISTORY> <!-- Module specific tables -->
		<folderdel>true</folderdel> <!-- Delete a folder -->
		<folderadd>true</folderadd> <!-- Add a new folder -->
		<folderup>true</folderup>  <!-- Modify folder informations -->
		<folderview>true</folderview> <!-- View folder informations -->
		<foldertypeadd>true</foldertypeadd> <!-- Add a new folder type -->
		<foldertypeup>true</foldertypeup> <!-- Modify a folder type -->
		<foldertypedel>true</foldertypedel> <!-- Delete a folder type -->
	</HISTORY>
	<KEYWORDS> <!-- list of this module keywords for the history events : each label var is 
                        defined in this module language file -->
		<id>FOUT</id>
		<label>_FOLDER_OUT</label>
	</KEYWORDS>
	<KEYWORDS>
		<id>VIEW</id>
		<label>_VIEW</label>
	</KEYWORDS>
</root>

The <HISTORY> tag contains the list of all events that can be logged. To disabled this, just set the <action> tag to false.

folder_index.xml

This file contains all the custom indexes that you can set for each folder type in the application.

All the localization constants used in this file must be defined in the module language files.

The <COLUMN> tag MUST BE one of the custom fields of the folder table.

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
        <INDEX>
		<COLUMN>custom_t2</COLUMN> <!-- Maarch folder Table column -->
		<LABEL>_LASTNAME</LABEL> <!-- Index label -->
	</INDEX>
        <INDEX>
		<COLUMN>custom_t3</COLUMN>
		<LABEL>_FIRSTNAME</LABEL>
	</INDEX>
	<INDEX>
		<COLUMN>custom_t1</COLUMN> <!-- Do Not modify this index, you can move it but not 
delete it otherwise the application will not work properly (Integration) !-->
		<LABEL>_FOLDERNAME</LABEL>
	</INDEX>
	<INDEX>
		<COLUMN>custom_d1</COLUMN><!-- Do Not modify this index, you can move it but not 
delete it otherwise the application will not work properly (Integration) !-->
		<LABEL>_FOLDERDATE</LABEL>
	</INDEX>
</ROOT>

Provided Services

All the localization constants used in service.xml are defined in the folder languages files.

All the css styles defined in the <style> tag are defined in css files of the folder /css directory.

By default, some service are defined as system services, it means that these services will be activated for all users. You can easily modify it by setting the <system_service> tag to false.

To deactivate a service, simply set the enabled tag to false.

Service Type System Service Description
#modify_folder use no Modify folder information
#delete_folder use no Delete a folder
#admin_foldertypes admin no Folder types administration
#folder_search menu no Menu item, Folder search
#show_missing_doc_in_folder use yes View the missing documents of a folder
#show_history_folder use yes View the folder history

modify_folder

This service gives the right to edit a folder's information.

 <SERVICE>
   <id>modify_folder</id> <!-- service identifier -->
   <name>_MODIFY_FOLDER</name> <!-- service label -->
   <comment>_MODIFY_FOLDER</comment> <!-- service description -->
   <servicepage>none</servicepage> <!-- service page -->
   <servicetype>use</servicetype> <!-- service type -->
    <system_service>false</system_service>
   <enabled>true</enabled>
  </SERVICE>

This service is a use service. This is not a system service by default.

delete_folder

This service gives the right to delete a folder.

<SERVICE>
   <id>delete_folder</id>
   <name>_DELETE_FOLDER</name>
   <comment>_DELETE_FOLDER</comment>
   <servicepage>delete_popup.php</servicepage>
   <servicetype>use</servicetype>
    <system_service>false</system_service>
   <enabled>true</enabled>
   <WHEREAMIUSED>
     <page>index.php?page=view_folder</page>
     <nature>button</nature>
	 <button_label>_DEL_FOLDER</button_label>
     <width>550</width>
     <height>200</height>
   </WHEREAMIUSED>
  </SERVICE>

This service is a use service. This is not a system service by default.

admin_foldertypes

This service gives access to the folder types administration.

<SERVICE>
   <id>admin_foldertypes</id>
   <name>_ADMIN_FOLDERTYPES</name>
   <comment>_ADMIN_FOLDERTYPES_DESC</comment>
   <servicepage>index.php?page=foldertypes&amp;module=folder</servicepage>
   <servicetype>admin</servicetype>
    <system_service>false</system_service>
   <style>fold_admin_foldertypes</style>
   <enabled>true</enabled>
   <WHEREAMIUSED>
     <page>admin.php</page>
     <nature>listelement</nature>
   </WHEREAMIUSED>
 </SERVICE>

This service is an admin service. This is not a system service by default.

folder_search

This service Adds an entry "Folder Search" in the Maarch menu.

<SERVICE>
   <id>folder_search</id> <!-- if servicetype = menu, this id must be equal to the id of the menu item -->
   <name>_FOLDER_SEARCH</name>
   <comment>_FOLDER_SEARCH</comment>
   <servicetype>menu</servicetype>
    <system_service>false</system_service>
   <enabled>true</enabled>
 </SERVICE>

This service is an menu service. This is not a system service by default.

show_missing_doc_in_folder

This service displays missing documents for a folder to be considered complete.

<SERVICE>
   <id>show_missing_doc_in_folder</id>
   <name>_MISSING_DOC</name>
   <comment>_MISSING_DOC</comment>
   <servicepage>missing_res.php</servicepage>
   <servicetype>use</servicetype>
    <system_service>true</system_service>
   <enabled>true</enabled>
   <WHEREAMIUSED>
     <page>index_documents.php</page>
     <nature>tab</nature>
	 <tab_label>_MISSING_DOC</tab_label>
	 <tab_order>4</tab_order>
   </WHEREAMIUSED>
    <WHEREAMIUSED>
     <page>index.php?page=show_folder</page>
     <nature>frame</nature>
     <width>400</width>
     <height>210</height>
	 <scrolling>auto</scrolling>
	 <border>0</border>
   </WHEREAMIUSED>
 </SERVICE>

This service is an use service. This is a system service by default.

show_history_folder

This service displays a folder's history.

<SERVICE>
   <id>show_history_folder</id>
   <name>_FOLDER_HISTORY</name>
   <comment>_FOLDER_HISTORY</comment>
   <servicepage>folder_history.php</servicepage>
   <servicetype>use</servicetype>
    <system_service>true</system_service>
   <enabled>true</enabled>
   <WHEREAMIUSED>
     <page>index_documents.php</page>
     <nature>tab</nature>
	 <tab_label>_FOLDER_HISTORY</tab_label>
	 <tab_order>5</tab_order>
   </WHEREAMIUSED>
   <WHEREAMIUSED>
     <page>index.php?page=show_folder</page>
     <nature>frame</nature>
     <width>400</width>
     <height>210</height>
	 <scrolling>auto</scrolling>
	 <border>0</border>
   </WHEREAMIUSED>
 </SERVICE>

This service is an use service. This is a system service by default.

Customisation

Language