.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ======================= EXT: Organisation Guide ======================= :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed: 2005-07-02T13:41:17 :Author: Jan Wischnat :Email: jan@wischnat.de :Info 3: :Info 4: .. _EXT-Organisation-Guide: EXT: Organisation Guide ======================= **(tx\_organisationguide\_jw)** Copyright 2004-2005, Jan Wischnat, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.com .. _Table-of-Contents: Table of Contents ----------------- **EXT: Organisation Guide 1** **Introduction 1** What does it do? 1 Features: 2 Screenshots 2 **Users manual 6** Installing the extension 6 Creating a page tree 6 Record Storage 7 Creating records 7 Intranet functionality 7 **Configuration 7** Adjusting the TypoScript Template 7 Adjusting the HTML Template 8 TS-Reference 8 **Known problems 9** **To-Do list 9** **Changelog 9** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ This extensions is for larger companies and authorities that need to inform visitors about questions like: “Who's in charge of what? What services are offered? Where to get help? What is the structure of the organisation? Which services suit my situation? Where is a service or a person located?” **This extension extends the table fe\_users, adding fields for assigning locations, tasks, services, functions and organisations to a frontend user.** **The frontend plugins show your visitors:** - A list of all employees / persons working in the organisation and associated tasks/services - A list of all tasks/services and associated emplyees - A list of locations and associated tasks/services/organisations - A hierachical organisation structure - Who's in charge of what? (tasks/services) - Where to get help (locations) - Which organisation does an employee belong to? - The meaning of 23 :-) .. _Features: Features: ^^^^^^^^^ - XHTML 1.0 transitional - Accessible and semantically correct output (see to-Do list) - Multilingual: english/german (translators verrry welcome ;-) - Uses Flexforms for Plugin Configuration - Intranet functionality: more (secret) information in intranet view - extends TYPO3 frontendusers permits FE/BE editing features with simulate\_be .. _Screenshots: Screenshots ^^^^^^^^^^^ .. _Backend: Backend """"""" Additional fields for frontend users: |img-1| Records in “List” Module: |img-2| .. _Frontend: Frontend """""""" **Listing Services offered:** (Notice that the visitor can filter the results in various ways. Also notice that the editpanel is only shown for 1 item. Editpanels only appear for records belonging to the fe- user being logged in. Hint: use simulate\_be) |img-3| **Listing Organisations:** |img-4| **Listing Persons:** (notice that the editpanel is only shown for 1 item. Editpanels only appear for records belonging to the person being logged in.) |img-5| .. _Users-manual: Users manual ------------ .. _Installing-the-extension: Installing the extension ^^^^^^^^^^^^^^^^^^^^^^^^ Download and install the extension tx\_organisationguide\_jw using the extension manager .. _Creating-a-page-tree: Creating a page tree ^^^^^^^^^^^^^^^^^^^^ In case you're lazy: **You can also download a .t3d TYPO3-pagetree with some demo records here FIXME** Create a page structure: Organisation Guide \- Services \- Persons \- Organisations \- Locations - On the page “Organisation Guide” insert a content element “Menu- Sitemap”: Menu of subpages - Create a content element Plugin “Organisation Guide” on the page “Services”, set the starting point to the page “Organisation Guide” and to the sysfolfer containing your fe-users. Set the displaymode to “services” - Create a content element Plugin “Organisation Guide” on the page “Persons”, set the starting point to the page “Organisation Guide” and to the sysfolfer containing your fe-users. Set the displaymode to “persons” - Create a content element Plugin “Organisation Guide” on the page “Organisations” , set the starting point to the page “Organisation Guide” and to the sysfolfer containing your fe-users. Set the displaymode to “organisations” Create a content element Plugin “Organisation Guide” on the page “Locations” , set the starting point to the page “Organisation Guide” and to the sysfolfer containing your fe-users. Set the displaymode to “locations” **(You can set page ids for singleview pages in the plugins, you don't have to though. See “Configuration” below how you can set the page ids in a typoscript template for the whole site)** .. _Record-Storage: Record Storage ^^^^^^^^^^^^^^ You can store records on any page of your choice and use the starting point of the frontendplugins. I recommend placing your records like below so you can easily follow this manual. Create records of type services, organisations, locations, files, situations and functions **on the page “Organisation Guide”** - Create a sysfolder for frontend users (if you don't already have one) and create some fe-users. **Assign one or some locations, services and organisations to the fe users** in the BE-Form of the fe user. - Set the General Record Storage (page header) of the sysfolder containing your fe-users to the page “Organisation Guide”. (permits you to add new records using the little + symbol next to the select lists on the form “fe-user”) .. _Creating-records: Creating records ^^^^^^^^^^^^^^^^ - **Services** Services are the tasks/services/projects that your organisations are offering/working on. Fill out all text fields. Assign files, situations and related pages using the selector boxes. If you need to create a new file, situation or page click the + symbol. **Hint:** **A Service could also be a project.** - **Organisations** Fill out all text fields. You can assign an organisation that's above the current organisation using the selectorbox. Create an organisation named “none” so you can assign this as organisation above for organisations that don't have an organisation above. The hierarchie of your organisations will be displayed on the page containing the frontendplugin with displaymode set to organisations. **Hint: An organisation could also be a team.** - **Locations** Fill out all text fields. - **Files** Fill out all text fields. - **Functions** Functions are used to describe the function/level/ranking of a person. (CEO, Adminsitrator, Parttime worker etc...) Fill out all text fields. - **Situations** Situations are meant to group services in a way that your visitor is more likely to understand. Imagine you offer services like changing oil, changing sparks and tuning airfilters. A suitable situation to group the services could be “My car doesn't run smooth”. Fill out all text fields. .. _Intranet-functionality: Intranet functionality ^^^^^^^^^^^^^^^^^^^^^^ - The records “services” and “fe-users” have a checkbox “Show in Intranet only?”. The records “services” also has a second rte-field “internal description”. - If you check the checkbox “Intranet mode” in the plugin flexform, the plugin will show the second rte-field and internal numbers (records “services”) and all results, also the ones where “Show in Intranet only?” is checked. - It is a good idea to use the extension simulate\_be and to relate a be-user to each fe-user. If you do so your fe-users will see the editpanel for records assigned to the fe-user. .. _Configuration: Configuration ------------- .. _Adjusting-the-TypoScript-Template: Adjusting the TypoScript Template ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ On the page “Organisation Guide” insert an extension Template and adjust the Page Ids to the ids matching your pages with the respective plugins thus avoiding to set the Single Page for ever single plugin: :: plugin.tx_organisationguidejw_pi3 { PidItemPerson = xxx //id of the page holding the plugin with displaymode “persons” PidItemService = xxx //id of the page holding the plugin with displaymode “services” PidItemOrganisation = xxx //id of the page holding the plugin with displaymode “organisations” PidItemLocation = xxx //id of the page holding the plugin with displaymode “locations” PidItemFile = xxx //id of the page holding the plugin with displaymode “persons” } Uid of record “organisations” indicating the Top Level Organisation under which all other organisations are shown, this is normally the organisation called “none”: :: plugin.tx_organisationguidejw_pi3 { #uid of the record “organisation” named none topLevelOrg = 1 } .. _Adjusting-the-HTML-Template: Adjusting the HTML Template ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The html contains all of the formatting for the frontend output. If you need to change the html please put a copy of the file EXT:organisation\_guide\_jw/res/templates/template.html (where EXT: is either typo3 or typo3conf) somewhere in your fileadmin folder and tell TYPO3 to use it with this TS: :: plugin.tx_organisationguidejw_pi3 { file.templateFile = fileadmin/template.html } **Do not change any files that reside in the extension directory** as you would lose your changes when you update the extensions. And updates are likely to come ;-) .. _TS-Reference: TS-Reference ^^^^^^^^^^^^ .. ### BEGIN~OF~TABLE ### .. _file-templateFile: file.templateFile """"""""""""""""" .. container:: table-row Property file.templateFile Data type resource Description HTML Template file for all fe-output Default EXT:organisation\_guide\_jw/res/templates/template.html .. _file-intLinkImage: file.intLinkImage """"""""""""""""" .. container:: table-row Property file.intLinkImage Data type resource Description Image that gets prepended to all links Default EXT:organisation\_guide\_jw/res/gfx/link\_int.gif .. _listView-results-at-a-time: listView.results\_at\_a\_time """"""""""""""""""""""""""""" .. container:: table-row Property listView.results\_at\_a\_time Data type Int+ Description Amounts of results shown in frontend lists Default 10 .. _topLevelOrg: topLevelOrg """"""""""" .. container:: table-row Property topLevelOrg Data type Int+ Description Uid of record “organisations” indicating the Top Level Organisation under which all other organisations are shown Default .. _CSS-DEFAULT-STYLE: \_CSS\_DEFAULT\_STYLE """"""""""""""""""""" .. container:: table-row Property \_CSS\_DEFAULT\_STYLE Data type string Description Alter this property to adapt the css to your needs Default .tx-organisationguidejw-pi3-azForm {} .tx-organisationguidejw-pi3-searchForm {float:left;} .tx-organisationguidejw-pi3-azBox { height:50px;border:1px solid #999999;padding:10px; background:#dddddd; float:left; margin- bottom:15px;} .tx-organisationguidejw-pi3-catBox { height:50px;border:1px solid #999999;padding:10px; background:#dddddd;} .tx-organisationguidejw-pi3-listrow {margin-top:15px;} .act {color:#ff0000; font-weight:bold;} #cat, #sit, #az {font-size:xx-small; float:left;} .small {font-size:50%;} .. _DEFAULT-PI-VARS: \_DEFAULT\_PI\_VARS """"""""""""""""""" .. container:: table-row Property \_DEFAULT\_PI\_VARS Data type string Description Using this property you could -for example- set a default filter for the frontend list(s): Example: :: plugin.tx_organisationguidejw_pi3._DEFAULT_PI_VARS { az = w } Default .. ###### END~OF~TABLE ###### [tsref:plugin. tx\_organisationguidejw\_pi3] .. _Known-problems: Known problems -------------- None so far, but see to-do list. .. _To-Do-list: To-Do list ---------- - Plugin Code needs optimization/comments. Also there's still some html/inline css in the code – i will get rid of that soon. - Wraps via TS like tt\_news. - The form at the top of the fe output (filters / search) is hardcoded in the plugin code. Needs to be wrappable/configurable via TS - Not all fields get rendered in the frontend yet. Still needs some work. - Headers are rendered even if there's no Data. Needs fixing. - Realurl config - The filters (organisation, a-z, situation) only work correctly in displaymodes persons and services. Needs fixing for the other modes. - The indentation of the hierachical display of organisations is not perfect yet. I tried to code correct ul/li output but i was clearly remembered that i'm not a programmer ;-) Because i couldn't get the nested ul/li's to work i used a single ul/li and did the indentation via css/margin...On the next snowboardtour one of the TYPO3/PHP pros has to show me how to do this better... - I'm thinking of implementing a switch in the flexform af the plugin to let the admin decide if records in listings (services, persons) should include relations to other tables because executing the sql queries for the related tables takes some time... Especially if the admin raises listView.results\_at\_a\_time ;-) .. _Changelog: Changelog --------- Juli, 2 2005 0.5.0 First Upload |img-6| EXT: Organisation Guide - 0 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: middle .. :border: 0 .. :height: 569 .. :id: Grafik2 .. :name: Grafik2 .. :width: 365 .. |img-2| image:: img-2.png :alt: records from tx_organisationguide_jw .. :align: middle .. :border: 0 .. :height: 498 .. :name: record list be .. :width: 278 .. |img-3| image:: img-3.png .. :border: 0 .. :height: 535 .. :id: Grafik1 .. :name: Grafik1 .. :width: 669 .. |img-4| image:: img-4.png .. :align: middle .. :border: 0 .. :height: 535 .. :id: Grafik3 .. :name: Grafik3 .. :width: 668 .. |img-5| image:: img-5.png .. :align: middle .. :border: 0 .. :height: 535 .. :id: Grafik4 .. :name: Grafik4 .. :width: 669 .. |img-6| image:: img-6.png .. :align: left .. :border: 0 .. :height: 32 .. :id: Graphic1 .. :name: Graphic1 .. :width: 102