You are on page 1of 19

EXT: Realty Manager

Extension Key: realty
Copyright 2006-2008, Oliver Klee, <typo3-coding@oliverklee.de>

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
EXT: Realty Manager....................................1 Create system folders for records..............................9
Introduction....................................................................1 Create the list view...................................................10
What does it do?........................................................1 Customize the list view.............................................11
Key features...............................................................1 Create the single view..............................................11
Screenshots................................................................2 Create the gallery.....................................................11
Live examples.............................................................6 Create the records....................................................11
Where to get a complete realty site with this Create a search form...............................................12
extension....................................................................6 Create a city selector...............................................13
Credits........................................................................6 Create a favorites list...............................................13
Sponsorship...............................................................6 Create a contact form .............................................14
Keeping up-to-date and getting support.....................7 Automatically insert the contents of the favorites list
Early access program: How to always get the latest into an external e-mail form.....................................14
version of this extension.............................................7 FE editing.................................................................15
Found a bug?.............................................................7 Testing the configuration..........................................15
Tutorial............................................................................8 Change the extension's look & feel..........................16
Installation..................................................................8 Import OpenImmo records from ZIP files................16
Upgrading from version 0.2.x.....................................8 Reference......................................................................17
Create a TS template for this extension.....................9 Development................................................................19
Development workflow and coding style..................19

Introduction
If you like this extension, please submit a rating for it in the TER.
This manual is about the 0.3.x version of the Realty Manager.

What does it do?
This extension provides a front end plug-in that displays realty objects (immovables, properties, real estate) (for sale as well
as for renting), including a little image gallery for each object.

Key features
• list view of realty objects with results browser and user-configurable sorting
• back-end configurable filter for the list view to display only certain objects, for example with 2 to 3 rooms
• configurable front-end filter with checkboxes for the list view, for example for cities or apartment types
• detailed single view of realty objects (access can be limited to logged-in users), external pages can be used as
detailed views as well
• image gallery for each realty object, linked from thumbnails in the list view and single view
• “favorites list” where visitors can collect realty objects of interest (the data can be read from other extensions)

EXT: Realty Manager - 1

2 . the objects can automatically be assigned to FE users • completely templatized valid XHTML front-end output • English. Turkish and Spanish localizations.2. Danish.2 and up • works with MySQL 4.g. including a switch between formal and informal language (for example “Sie”/”Du” in German) • the front end plug-in can be configured via TypoScript and Flexforms with an automatic configuration check that quickly leads to a working configuration • the code follows the TYPO3 coding guidelines • works with TYPO3 4. Dutch.1 and up • contains some unit tests which can be used with the phpunit extension • the extension is actively developed Screenshots Figure 1: list view EXT: Realty Manager . e.1) from ZIP files via the TYPO3 command line interface (CLI) with e-mail notifications. that are situated in a certain city and have a price in a defined range • city selector that allows visitors to easily display all objects in a given city • contact form that can refer specifically to an object and send e-mails directly to the offerer • front-end editor where logged-in users can enter and edit realty objects and upload images • comprehensive data for each realty object can be entered • images of realty objects are integrated via inline relational record editing (IRRE) • import of OpenImmo records (version 1.1. German. Russian.2 and up • works with PHP 5. • search form to display all objects that fulfill certain criteria. uploaded objects can be hidden first and then published by an administrator.

Figure 2: list view with search filter and page browser Figure 3: single view EXT: Realty Manager .3 .

Figure 4: city selector Figure 5: favorites list EXT: Realty Manager .4 .

Figure 6: image gallery Figure 7: back-end configuration of the front-end plug-in EXT: Realty Manager .5 .

you’ll get a discount. this extension. Where to get a complete realty site with this extension Our friends at TRYFACTORY provide full-fledged site packages including a TYPO3 installation. some code) • Gül Siopi (improvements to the manual) • Mario Rimann (code reviews. bug fixes.de ● Duitslandhypotheek.net IT GmbH ● maddesigns . Please have a look at their site for details. please drop the extension author an e-mail. Die Internetagentur EXT: Realty Manager .Figure 8: the automatic configuration check Live examples ● Balloon Real Estate ● Berlinmægleren ● Duimmo. click on “Mieten” or “Kaufen”) ● Tecklenburg GmbH ● www. SVN statistics) • Michael Zweigle (NL localization) • Miguel Pin (ES localization) • Murat Caglayan (TR localization) • Niels Pardon (code reviews) • Paul Effertz (NL localization) • Peter Hanstein (DK localization) • Saskia Metzler (code) • Sebastian Wittig (graphics.de ● TRYFACTORY. a nifty design.de If you would like to have your site listed here. icons) • Stas Kobzar (RU localization) • Sven Braun (bug fixes) • Sven Wolfermann (DK localization) Sponsorship Development of this extension has been funded by the following organizations: ● Geo. If you mention that you got referred to them via the Realty Manager manual. graphics or for doing code reviews: • Benjamin Wehe (tutorial) • Boris Feldmann (HTML/CSS templates.info ● SKIBA Immobilien (in German.6 . Credits Thanks go to the following persons for contributing code. professional support and much more.immo-heinz.Sven Wolfermann ● PEIS24.

de Port: 119 (which is the default) Group name: typo3. free public support is provided on this list.netfielders. Free public support We have a newsgroup/mailing list on lists. paid by the hour Personal support by the extension author via e-mail or phone is also available. please contact the extension author. For prices. This support package is available for a one-year period and can be purchased as a subscription. If you want to always have the latest and greatest version of this extension and thus keep an edge over the competition.de (where all the TYPO3 newsgroups and mailing lists are hosted). KG Keeping up-to-date and getting support Please do not contact the extension author for free support! Please use the newsgroup/mailing list instead so that other people can read you question and benefit from the answers as well. If you’re interested. It's free. Standard support package: Paid support for bug fixes This paid support package guarantees that all bugs (not features) which you enter into the bug tracker will be taken care of. we recommend our early access program: ● You will receive periodic e-mails with a link to download the latest version. Make sure to provide the following data when reporting a bug: ● the version of this extension which you're using ● the version numbers of oelib. ● You will get notes about what you need to know for the upgrade. just send it to: typo3-project-realty@lists. you just need to configure your news-reader with these settings: Server: lists. The mailing list: Please subscribe at the information page on the mailing list. please create yourself an account at the bug tracker and then report the issue under the product Realty Manager. Premium support package: Paid support for bug fixes plus personal support via e-mail This support package is the same as the standard support package but with an additional 90 minutes of e-mail support by the extension author (or phone support if you can get him on the phone).de The newsgroup: To access the newsgroup. TYPO3. All announcements like new versions or security issues will be sent to all members of this list. Personal support by the extension author via e-mail or phone. This support package also is valid for one year and can be purchased as a subscription. please contact the author for the current prices.netfielders. and you can always unsubscribe yourself if needed. so you just need one of them to stay informed. ● tsitrone medien GmbH & Co.4. Features that will be available in version 0. In addition.0: ● Google Maps integration in the list view and details view ● HTML templates for the FE object editor and the image upload dialog ● JavaScript-base usability enhancements in the gallery ● optional Lightbox gallery ● (more to come) Found a bug? If you find any bugs or would like to propose a feature. To send a message to this mailing list. ● You will receive a diff for the HTML template so you know what to change if you’re using a customized HTML template. please contact the extension author. Please note that we don’t guarantee that you’ll get replies to all your questions there or that replies will be within 24 hours.7 . Early access program: How to always get the latest version of this extension This extension is released to the TER with a delay: New features are available in the TER about 3 to 6 months after they have been developed.project. For prices. Please contact the extension author for details.netfielders.realty The mailing list and newsgroup are synced. PHP and MySQL EXT: Realty Manager .

This is setting for the server system.0.2. UPDATE tx_realty_objects SET state=0. Don’t set config. if you are using a Dutch site for the Netherlands. if you are using a Dutch site for the Netherlands. Make sure that the locales for your FE language are installed on your web server. For example. For example. you'll have to move your configuration from the flexforms or your TypoScript setup to your TypoScript constants.php. not a TYPO3 or PHP setting. This will aid you in quickly configuring the extension. You absolutely need to use use UTF-8 in the BE and FE. Install the Realty Manager extension. please make sure that the packages php5-zlib and dietzlib are installed. If you specified another path than the default to the realty CSS file. please apply EXT: Realty Manager . Upgrading from version 0. There is no way to transfer your current data stored in these fields..language and config. not a TYPO3 or PHP setting. Don’t set config. 6. 2.renderCharset or config. Otherwise. 10. 11. In the Extension Manager. Install the required extension “oelib” which you can get from the TER. you can do a search in typo3conf/temp_CACHED_psdbc4_ext_localconf. 4. Otherwise. oelib 0. you would need the de_CH locale. Make sure that the extension dbal is not installed on your system. and the FE output might be broken.tx_realty_pi1. Make sure that you are using at least TYPO3 4. In your TS setup. enter this .8 .0). ● what steps need to be taken to reproduce the bug (1. Note for updating the FORMidable version: Before the update. you need the nl_NL locale on your server. 5.metaCharset (leaving those values empty will automatically cause TYPO3 to use the BE charset in the FE as well). Note that the heating types and conditions will be localized in the new Realty Manager version. It is recommended to empty them with the following two queries applied in phpMyAdmin: UPDATE tx_realty_objects SET heating_type=0. 7. 6. 8.locale_all so the extension will use the correct language in the front end. If you want to have a nifty search. To keep the images in your database referenced to the realty records. Make sure that the locales for your FE language are installed on your web server.1. 9. Therefore we removed the field for the CSS file from the flexforms and moved the TypoScript configuration variable plugin. For Swiss German.tx_realty_pi1.cssFile from the setup to the constants. Important: You need to install the Realty Manager before you install realty_search! Note: It has not been tested that the “realty_search” extension works with all versions of the Realty Manager. You can help improving this documentation by reporting about your success/failure in the newsgroup/mailing list of in an e-mail to the authour of the Realty Manager extension. 9.4.2 and at least PHP 5.x 1. Make sure that you use UTF-8 in the BE and FE. Update the Realty Manager.1. 7. the OpenImmo import won’t work properly. 2. you can also install the extension “realty_search” by Philip Almeida. Make sure that your installation fulfills the requirements (PHP 5. please set config. Update oelib. Uninstall the Realty Manager (you’ll reinstall it in a minute). and the FE output might be broken. click here. 8. For Swiss German. 2.cssFile is not set in your TypoScript setup.2.renderCharset or config. To find out which extensions do this. ameos_formidable 1.) ● what you expect to happen ● what actually happens instead Tutorial Installation 1.. you need the nl_NL locale on your server. TYPO3 >= 4. you would need the de_CH locale. 10. Image handling has changed. If you want to use the OpenImmo import and your server uses SuSE Linux. 4. the OpenImmo import won’t work properly. Then and clear all cache. uninstall all extensions which use FORMidable in a lower version and define their own data handlers or validation handlers.2. make sure that “Configuration check” is checked. That means that you have to make sure that plugin.2. The way how the CSS file is included has been changed. You don’t need to set the other values in the Extension Manager yet (they’re used for the OpenImmo import). 5. These definitions are not compatible with the new FORMidable version and break the BE immediately. 3.metaCharset (leaving those values empty will automatically cause TYPO3 to use the BE charset in the FE as well). This is setting for the server system. Reinstall the Realty Manager. 3.

14. Figure 10: Include it in your main template using “Include basis template”. In the extension manager. If you need additional configuration settings which either aren't available in the flexforms or which you would like to set using TS setup. If there are any warnings. enable “Automatic configuration check”.realty template. Note: After successfully installing the Realty Manager. please set config. In your TS setup. Create a TS template for this extension In the system folder (or the page) in which you have stored all your TS templates. The database field “accessible” has been renamed. or you will not be able to edit realty objects in the BE. It is important that you put all auxiliary records into exactly one folder. In the extension manager.realty” or something similar. 15. simply click on “Create new record” and choose the type of record. disable “Automatic configuration check” (this will improve performance). In this folder. View you front-end pages that contain the Realty Manager plug-in and check that there are no configuration check warnings. 11. Figure 12: Include “Realty List (realty)” to get the default setup for this extension. fix your setup and reload that page. put them in the setup of this template. (In this manual's reference. 13. To keep your data. Example: Create record: ● House Type ---> One-Family Home ● House Type ---> Multi-Family Home EXT: Realty Manager . you should be able to choose from a great variety of record types like “house type”. Figure 9: Create an additional TS template. Include it in your main template using “Include basis template”. please apply the following query in the phpMyAdmin extension: UPDATE tx_realty_objects SET barrier_free=accessible. Edit the plugin.realty template. create an additional TS template and name it “plugin. include “Realty List (realty)” to get the default setup for this extension. If you don't seem those have.language and config. Figure 11: Edit the plugin. cities or heating types. you'll find all settings that are available in flexforms or TS setup. In the section “Include static (from extensions)”.) Create system folders for records First you create the data pool: a system folder for auxiliary records like house types. 12. “garage type” etc. your installation is broken. the following query in the phpMyAdmin extension: UPDATE tx_realty_images SET realty_object_uid=(SELECT max(uid_local) FROM tx_realty_objects_images_mm WHERE uid_foreign=uid).locale_all so the extension will use the correct language in the front end.9 .

Figure 15: create the a content element: Plugins > Realty Manager. A BE folder structure with two streets and a folder for each street will look like this: Figure 13: BE folder structure with two streets and a folder for each street Create the list view 1. If you have just a few realty objects without images. Select the page for the single view. select the system folder for realty objects. Figure 14: Create or choose a front-end page which will contain the list of your realty objects 2. On the list view page. create the a content element: Plugins > Realty Manager. They can either have separate single view pages (so that the root line and the navigation markers still show the corresponding list view page) or you can use the same single view page for all list views. Create or choose a front-end page which will contain the list of your realty objects.10 . one for houses. select “Realty list”.Then create one or more system folders for the realty objects. It is recommended. i. This is important so that you can select the house types etc. when editing realty objects. to create separate list view pages for realties to rent and to buy. If you have lots of objects and many images. you can create more lists view pages. it is recommended to create a separate folder for each object (or each street). (This can also be done using TS setup instead of in the flexforms. For “What should be displayed”. Edit this system folder (or the parent folder if you have more than one system folder for realty objects) and choose the system folder with the auxiliary records as General Record Storage page. As a starting point.) If you would like to have the contents of more than one folder listed. Set this page to “don’t cache”.) 6. (This can also be done using TS setup instead of in the flexforms. you can either select all those folders or a parent folder and then set the recursion depth. 4. If needed. 3. Figure 16: select the system folder for realty objects 5. Save and close.e. one folder should suffice. one for apartments etc. A typical FE page tree for one list view plus a gallery will look like this: EXT: Realty Manager .

Set the FE page for the Gallery view. ● If there should be a link to the contact page. you can also define. EXT: Realty Manager . Provide a comma separated list of field names for fieldsInTheSingleViewTable. For hand-crafted lists. 3.galleryPopupParameters. 2. select “Single view”. This will be the page for the single view. Create a sub page of the list view page and set it to “not in menu” (as it should be reached via links from the list view. create the auxiliary records which you will need for the first set of realty objects. you can restrict the single view to logged in users. For this. you can customize which objects should be visible in the list view. not via the page navigation). create the a content element: Plugins > Realty Manager. See section Create a contact form.11 . You can customize the single view: ● Enable or disable “Show contact information in the FE”. the plugin provides a field “Static SQL filter” which you can use to limit the list view if you know some SQL. (You can also setup the contact form on the same page as the single view. 5. Create a page and set it to “not in menu” (as it should be reached via links from the list and single view. In the “data pool” system folder. you'll need to have least one city record in this folder. For “What should be displayed”. If you would like the gallery to open in a pop-up window. Save and close. you do not need to set a starting point. Some examples: filter SQL only objects that are for renting object_type = 0 only objects that are for sale object_type = 1 only objects near Berlin (if you use German ZIP codes) zip LIKE "10%" with at least 5 rooms number_of_rooms >= 5 with a living area of less than 50 m² (living_area != 0 AND living_area < 50) only objects that are already rented rented = 1 Create the single view 1. If you would like the gallery to have a different page layout (like no navigation). select “Gallery”. ● Enable or disable “Show the addresses of objects in the FE”. 4. To be able to create a realty object record. Instead. configure the contact PID and enable “Allow to send contact requests directly to the realty's contact person”. Figure 17: typical FE page tree for one list view plus a gallery Customize the list view If you like. 4. 2. you need to configure this using your page TS setup and HTML template.tx_realty_pi1. ● Via TS setup.) Create the gallery 1. you can configure the gallery using TS setup. add a content object with the Realty Manager plug-in. not via the page navigation). set requireLoginForSingleViewPage and define loginPID. Create the records 1. set the pop-up parameters using plugin. (The gallery plug-in usually cannot be configured further via flexforms. On this page. For “What should be displayed”. 3. Particularly. 6. As for the list view. which fields should be displayed in the single view table. ● Via TS setup.) 5. The other record types are optional to use.

they’ll be listed automatically when you edit realty object records. ■ Each range has an upper and a lower limit separated by “-”. you can select from the auxiliary records which you've just created. Create a search form A search form can be used either on the same page as the list view or on any other page.300001-” will create three options: “less than 100000”. Example: “-100000. After submit. ○ Site search visibility: In the flexforms.100001-300000. set “What should be displayed” to “Search form” 3. do not create new image records as auxiliary records. In the content element. Save and close. Note: Although it is possible. the other one is interpreted as infinitely high. 2. EXT: Realty Manager . do the following: 1. To setup a search form. Do not forget to set the list view to “no cache”. you can create realty objects in the corresponding system folders. If there is only lower limit. The value for “Price ranges for the search form” must be of the following format: ■ Ranges are separated by “. only objects which fulfill these criteria will be displayed. 4. set this value via TS setup and leave the flexforms configuration set to “(from TS setup)”. Decide which parts of your search form should be visible: You can either have a drop-down box for price ranges or an input field for a site search or both. 5. Choose a FE page and create a new content element. Figure 18: create the auxiliary records which you will need 2. Set “Target page for the filter form and the city selector” to the list view page. “100001 to 300000”. After you have created the necessary auxiliary records. ○ Price range drop-down: The price range drop-down is invisible as long as there is no further configuration. Setup price ranges via flexforms or TS setup to make it visible. If there is only an upper limit provided.”. Create them inside the realty object form instead. users can filter the realty list by certain criteria: One can fill in a ZIP code or a city and select a price range. “more than 300001”. Important note: If you create the auxiliary records first.12 . In the realty object records. the lower one is considered to be zero. Set the element type to “plugin” and choose Realty Manager as plugin type. If you like to use this plugin with the same configuration on more than one FE page. you can set “Site search visibility in the search form” to “show” or “hide” for this plugin. With this form.

2.Create a city selector Usually. You're done! Create a favorites list 1.13 . In the content element. create a page for the list view and set up the list view. Create a FE page for the favorites list. Figure 22: create a new content element: Plugins > Realty Manager 3. Create a new content element: Plugins > Realty Manager. Set this page to “don’t cache”. do the following: 1. On the page where you would like to place the city selector drop-down list. In the content element. Edit the list view page which you would like to use for the city selector target page and set it to “no cache”. 3. As a starting point. create a new content element: Plugins > Realty Manager. 4. Select the list view page. 2. If you have not done so yet. set “What should be displayed” to “City selector”: Figure 20: set “What should be displayed” to “City selector” 5. you will either need a search form or a city selector. 6. Save and close. To setup the city selector. Using both might not make sense though it is possible. (This can also be done using TS setup instead of in the flexforms. select the system folder for realty objects. Figure 21: create a FE page for the favorites list.) It is recommended to select a parent page of all your system folders with your realty objects and EXT: Realty Manager . set “What should be displayed” to “Favorites list”. Figure 19: create a new content element: Plugins > Realty Manager 4. there is a field “Target page for the search form and the city selector”. At the bottom of the content element.

5. (This can also be done using TS setup instead of in the flexforms. 3.contactPID = [PID of the contact form] Configuration for the specialized contact form 1. where all requests will also be sent to. The data of the favorites list is stored in the anonymous session under the following two keys: ● tx_realty_favorites: comma-separated list of the UIDs of the realty objects in the sessions ● tx_realty_favorites_verbose: the contents of realty objects fields that have been selected via the TS setup variable plug. Disable the Option “Allow to send contact requests directly to the realty's contact person”. In the content element.favoritesPID. Create a new content element: Plugins > Realty Manager. The offerer is. Configuration for the general contact form 1.contactPID = [PID of the contact form] EXT: Realty Manager . If needed. Set a default e-mail address to which all the requests will be sent. Set “contactPID” in the TS setup to your FE page which now contains the realty plugin with the contact form: plugin.tx_realty_pi1. The e-mail address can be set via flexforms or TS setup. determined by “contact_data_source”. Instead. Edit all you existing list view and single view content elements and select the page with the favorites list. This form will always send requests to the default e-mail address. choose the FE page which contains the single view for the contact form. Create or choose a FE page for the contact form. E-mails are sent directly to the offerer of the object. 7. 7. The sent e-mails will contain a summary of the visitor's current favorites list. This can be done via flexforms or TS setup. decide which type you want the Realty Manager to display: ● General type: Visitors can reach the form with a button on their favorites list or in the navigation menu.tx_realty_pi1.favoriteFieldsInSession Create a contact form The Realty Manager provides two types of contact forms. Create a new content element: Plugins > Realty Manager. This can be done via flexforms or TS setup.tx_realty_pi1. is determined by the realty record's field “contact_data_source”. Which address is used. If the single view and the contact form for an object should be displayed simultaneously. where all requests will also be sent to. The page with the form will show the object's title and number. Select the (existing) page for the single view. 7. Figure 23: select the system folder for realty objects 5. 4. 2. then set the recursion depth to “infinite”. too. set “What should be displayed” to “Contact form”. 2.) 6. 4. set a BCC address. set a BCC address. When this option is enabled. If needed. Set “contactPID” in the TS setup to your FE page which now contains the realty plugin with the contact form: plugin. In the content element. 6. either the owner or is defined in the realty object's “contact_email” field. Enable the Option “Allow to send contact requests directly to the realty's contact person”. Before configuring the contact form.tx_realty_pi1. Set this page to “don’t cache” and activate “hide in menu”. Set this page to “don’t cache”. If no valid e-mail address could be fetched from the defined source.14 . 5. Set a default e-mail address. Save and close. ● Specialized type: Visitors can reach the form by using the “Contact us” link an object's single view page. Only messages which cannot be sent to the offerer will be sent to this address. Create or choose a FE page for the contact form. you could enter the PID into the TS setup variable plugins. 3. contact requests will be sent either to the realty record's owner or to the e-mail address defined within the realty record. This can be done via flexforms or TS setup. 6. the default e-mail address is used. set “What should be displayed” to “Contact form”.

5. This message will contain information about the following things: • what that particular setting is about EXT: Realty Manager . it will display a big red box with a message. 3. Create a new content element: Plugins > Realty Manager. Choose the element type “hidden” and set the value to “{TSFE:fe_user>sesData>summaryStringOfFavorites}” (without the quotes). Set the PID of the FE editor. Install the extension mailform_userfunc (version 0. you want FE users to edit on their own. Set an e-mail address which receives a message if a new record has been added to the database. 5. Setup the FE editor 1. 4.) FE editing With the display type My objects logged in FE users get displayed all objects they created. The summary of the favorites list is also provided there. Setup the My objects list 1. delete them or create new objects with the FE editor. heating types. FE editors can create new cities and districts.15 . Set this page to “don’t cache” and “hide in menu” choose for which user groups this page should be accessible. 2. So you will need to create some of these records in the BE. They can also append and delete images to the objects they created. Set the starting point like for the list view. set “What should be displayed” to “Image upload”. In the content element. Set this page to “don’t cache”.0. Testing the configuration This extension has an automatic configuration checking feature which will check pretty much all configuration settings of this extension for sanity. Create a FE page for the FE image upload. Note that FE-created record become marked as hidden by default and have to be unhidden by a BE user. Choose a system folder where the newly created records should be stored.g. This will automatically insert a summary of the user’s favorites list. Set the PID of the FE image upload.g. (This should usually be the same as for the FE editor. Set this page to “don’t cache” and “hide in menu” choose for which user groups this page should be accessible. (E. 4. 3. Choose for which user groups this page should be accessible. 4. 2. Therefore you need to create a system folder for each city of which records should be stored separately. 6. just set the record's field owner to the FE user.Automatically insert the contents of the favorites list into an external e-mail form The Realty Manager allows you include the realty objects on a user’s favorites list into TYPO3’s standard e-mail form. If it has found anything that needs to be fixed. set “What should be displayed” to “My objects”. Create a new content element: Plugins > Realty Manager. FE user-created records can be stored city-wise. 2. Configure which page to show after saving a realty record. Create a FE page for the FE editor. Set up a contact page with TYPO3’s default e-mail form (if you haven’t done so yet). Configure which page to show after saving a realty record. (E. 3.) If there are already records in your database. All other auxiliary records (e. Create a new content element: Plugins > Realty Manager. In the content element. Note: It is recommended to use the Realty Manager's own contact form. set “What should be displayed” to “FE editor”. Click on the configuration wizard to setup the form's content. (You might need to click on the arrow-headed button to see the detailed configuration.) 4. Remember to install the extension’s static template. you can setup another FE page with tells the user that the object has been successfully saved. Then set the Save folder field in each corresponding city record to this system folder.) 6.3 of that extension has been tested to work) and set the split character to “>”. 3. Create a FE page for the My objects list. In the content element. They can edit them again.g. you can setup another FE page with tells the user that the object has been successfully saved or just show the My objects list again. 1. (See section above. Setup the FE image upload 1.) 2. pets) have to be chosen out of the set of existing records.

. To setup a cron job the following needs to be done: 1. Leave this field empty. ○ PID for realty objects and images: Set the PID of the system folder where new realty records and related images should be stored. This option is only used if “Only import for registered FE users” is checked.regular expression:PID. heating types. If you need the realty records to be sorted into different folders. upgrading the extension will overwrite any changes you have made to the files.tx_realty_pi1. This line uses the following format (the regular expressions are perl-regular expressions without the / delimiters): regular expression:PID. You can also change only the HTML template or the CSS file if that suffices to achieve the look & feel you want. ^de:42. So just put copies of the original files into the import folder if you need to keep the records. . On the realty extension's configuration page in the Extension Manger configure the following: ○ Import directory: Specify a directory from which the script should fetch the OpenImmo records. • which values are allowed • which values are incorrect To make sure that your configuration is correct. When your configuration is finished and approved by the checking feature. This user does not need to be configured in any special way. house types. All other records will go into the default system folder for new realty records.tpl.templateFile and the constant plugin. if all FE user groups are allowed.cssFile to point to the copies. Note: Never edit the original HTML or CSS file within the extension directory itself! If you do this. Skipped records will be mentioned in the log.tx_realty_pi1.g. The following example will sort all records from file starting with “de” into the system folder with the PID 42 and all records that contain “2008” at any position into the system folder with the PID 39.css and tx_realty_pi1. ○ Restrict import to FE user groups: Set a comma-separated list of FE user group UIDs whose members' realty records may be imported. ○ PIDs for realty records by filename: This will allow you to sort the imported realty records and the related image records into system folders depending on the file name of the ZIP file. This has no influence on the PID of existing records that will be updated. The e-mail address of the owner's FE user record then will receive the import log.16 . this flag enables EXT: Realty Manager .htm from the folder typo3conf/ext/realty/pi1/ and setting the TS setup variable plugin. Apart from that. The configuration check slightly decreases the performance of this extension. OpenImmo records can be imported automatically with the help of a CLI script via cron job. or you will not be able to edit the realty objects in the BE.2008:39. ZIP archives with records that were not imported because FE user restriction is enabled and no matching FE user was found will not be deleted although this option is enabled. pets) or leave this value empty to store these records in the same folder as the OpenImmo records. ○ PID for auxiliary records: Specify a system folder where to store auxiliary records (e. please log in as a front-end user and visit all of your pages that contain the Realty plugin-in. Also have a look at the reference to see how the extension can be configured using TS setup and flexforms. ○ Use FE user data as contact data: Check this option to set the contact data source of each imported object which has an owner to the owner. Note: It is important that all auxiliary records are stored in only one folder. ○ Delete imported ZIPs: Set this option to delete all ZIP archives in the import folder automatically after their content has been added to the database. Change the extension's look & feel You can change the look & feel by copying the files tx_realty_pi1. Ensure the user who executes the script has read and write permissions on this folder. 2. ○ Only import for registered FE users: Set this option to import only realty records with an OpenImmo ANID that matches a FE user's OpenImmo ANID. Then you can modify the copies. This will also affect records which were not imported due to import failures like missing required fields. you can disable the feature in the extension manager. you can use the option PIDs for realty records by filename.tpl. The ZIP archives in this folder will be deleted after their contents have been imported.. Create a BE TYPO3 user named “_cli_realty” with User Admin. Import OpenImmo records from ZIP files On Linux and Unix servers.

For deleting. the record will be ignored (there will also be a log message that the record was not written to the database then). Generally. Image files are copied to the extension's uploads folder. If this option is enabled.2. The import has been tested with records made with the following programs: ● Makler 2000 ● Flowfact ● IMS 2000 ● Ammon ● OnOffice They were validated against the OpenImmo schema file version 1. After a ZIP file has been successfully imported. Database records can also be deleted during the import.xsd). EXT: Realty Manager . If this record exists in the database it will be deleted during the next import. This information can either be a summary of all imported records or only of those which did not have a valid contact e-mail address (see next item). configure the path of the XML Schema file. Set up a cron job to run PHP with it. ○ E-mail the log only on errors: Decide whether e-mails should contain only information about errors which occurred during the import. pets. ○ Recipient of the import logs: Set a default e-mail address or disable sending e-mails by leaving this field empty. If this option is enabled.xsd from http://www. This does not mean they are totally removed from the database but the field “deleted” is set to true. Unfortunately. then could look like this: 0 3 * * * /var/www/typo3/cli_dispatch. it will automatically be deleted. the default e-mail address is only used if records with invalid e-mail addresses were imported or if there were non- readable records. This address receives the logged information about the proceedings the import.de/ yourself. These ZIPs will be unpacked to folders created inside the import folder during runtime. The command to use for the cron job is: /[absolute path of the TYPO3 installation]/typo3/cli_dispatch. The ZIP archives are not changed at all.m. “openimmo_anid” and “language”. Currently English and German are available.phpsh openImmoImport A line in your cron tab that imports realty objects at three o’clock a. none of the files validated successfully. to access the owner's data for the detail view and the contact form (if those display types are configured to use record-specific contact data – see sections about these display types for more details). ○ E-mail text template: The e-mail layout can be varied by defining another template file. These folders are removed when the import is done. Note: This setting also determines the title of imported records for pets. Whether a record already exists in the database and just needs to be updated is checked by “object_number”. also the related records (like cities. Each contact person will receive no more than one e-mail during the import even if there are several records with the same contact e-mail address. the log which is directly returned at the end of the script always contains all information about all records. Copy the records to import into the import folder (or provide your users with FTP access so that they can upload their files). (XML Schema files have the suffix *. set the attribute of “Aktion” in the OpenImmo record to “DELETE”.openimmo.phpsh openImmoImport No matter whether e-mails are sent and whether “onlyErrors” is active. ○ Notify contact persons: Decide whether contact persons should receive the log information via e-mail. ○ XML Schema file for validation: If the data should be validated. Note: The licensing of the OpenImmo Schema doesn’t allow us to distribute the Schema file with this extension.17 . ○ Language of the import messages: Set the language for the log which is created at the end of each import. records are not imported if fields are missing which are required for OpenImmo records. 4.) are created and linked with the current record. but the import succeeded nonetheless. etc. contact persons might not receive a message at all if no errors occurred while importing their data. If it does not exist. 3. When a record is inserted. So each combination of object number and OpenImmo ANID must not occur more than once per language to avoid unwanted overwriting. images. The records need to be ZIP files with one OpenImmo-XML file and a variable number of images inside. So you need to obtain openimmo_120.

house_type. numberOfDecimals integer number of decimal digits for prices 2 dateFormat string format for all dates (as required for strftime) %d.living_area.total_area.location=no.bedrooms. width=600.layout.htm salutation string Switch whether to use formal/informal language on the front formal end.buying_price.tpl.elevator.accessible. Allowed values are: formal | informal Note: Currently.pets. directories=no.18 .usab le_from.apartment_type.tx_realty_pi1.bathrooms. there only are texts for the formal salutation.ga rage_price. comma-separated list of field names that will be stored in the session when displaying the favorites list.provision.garde n.rent ed.state. 0 Page in FE users loginPID page_id PID of the login page (only necessary if you set none requireLoginForDetailsPage to 1) EXT: Realty Manager .fitted_kitchen showContactInformation boolean whether contact information (determined by 0 “contact_data_source”) should be displayed in the FE defaultEmail string default e-mail address for requests.assisted_livin g.heati ng_included. used without validation blindCarbonCopyAddress string e-mail address where to send a BCC of each request.garage_rent.resizable=no.toolbar=no.property = value.extra_charges. leave empty to disable allowDirectRequestsForOb boolean whether the contact form should send requests directly to 0 jects the realty's contact person favoriteFieldsInSession string ordered.rent_ view excluding_bills.floor . templateFile string File name of the HTML template EXT:realty/pi1/tx_realty_pi1. leave empty to disable galleryPopupWindowName string name of the gallery pop-up window (in case the pop-up window is enabled) galleryPopupParameters string parameters for the gallery pop-up window (leave empty to disable pop-up windows). Some values can also be configures using flexforms. comma-separated list of fields from construction_year. realty_list This must be set using flexforms.floors. If you use flexforms. this will overwrite the TS template setup setting. If you set any non-empty value in the flexforms.garage_type.menubar=no requireLoginForSingleView boolean whether the single view page may only be viewed by logged.deposit. Property: Data type: Description: Default: what_to_display string The kind of front end plugin to display.g.Reference Setup for the Realty Manager front-end plugin You can configure the plugin using your TS template setup in the form plugin.%m.year_rent.height=400. use the TS template setup.status=no. make sure to set the values at all relevant instances of the plug in: It doesn't do to specify the fields for the gallery in the realty list front end plugin—you need to set these fields in the gallery front end plugin.%Y listImageMaxX integer maximum X size of images in the list view (in pixels) 98 listImageMaxY integer maximum Y size of images in the list view (in pixels) 98 singleImageMaxX integer maximum X size of images in the single view (in pixels) 137 singleImageMaxY integer maximum Y size of images in the single view (in pixels) 137 galleryFullSizeImageX integer maximum X size of the full-sized image in the gallery (in 600 pixels) galleryFullSizeImageY integer maximum Y size of the full-sized image in the gallery (in 600 pixels) galleryThumbnailX integer maximum X size of thumbnails in the gallery (in pixels) 137 galleryThumbnailY integer maximum Y size of thumbnails in the gallery (in pixels) 137 fieldsInSingleViewTable string ordered. e.number_of tx_realty_objects that will be shown in the table in the single _rooms. currencyUnit string symbol for the currency &euro.balcony. If your want to set a value for all instances of the plugin in one place.heatin g_type.

property = value. EXT: Realty Manager .tx_realty_pi1 You can configure the plug-in using your TS template constant in the form plugin.listView. 1 = 1 descending [tsref:plugin. Property: Data type: Description: Default: contactPID page_id PID of the contact page which will be linked from the none favorites list (leave empty to disable this link) pages string Starting point: comma-separated list of PIDs that contain the realty records to be displayed. Property: Data Description: Default: type: results_at_a_time integer the number of realty objects that will be displayed per page 10 maxPages integer how many pages should be displayed in the list view page 5 navigation orderBy string which DB field is used for the default sorting in the list view tstamp descFlag boolean the default sort order in the list view: 0 = ascending. usually this 0 is selected via flexforms staticSqlFilter string static SQL filter (will be appended to the WHERE clause using " AND ") checkboxesFilter string name of the DB field to create the search filter checkboxes from sortCriteria integer DB fields by which a FE user can sort the list view.css Development Development workflow and coding style The development workflow and the coding style guidelines for this extension are the in the manual of the extension oelib.tx_realty_pi1.property = value.19 . stored in a bitfield (see tx_realty_pi1::sortCriteria) singlePID page_id PID of the page for the single view (leave empty to use the same page as the list view) galleryPID page_id PID of the page with the gallery (leave empty to disable the gallery) favoritesPID page_id PID of the page with the favorites list filterFormTargetPID page_id PID of the target page for the search form and the city selector editorPID page_id PID of the page with the FE editor imageUploadPID page_id PID of the page with the image upload sysFolderForFeCreatedRe page_id PID of the system folder for FE-created records cords sysFolderForFeCreatedAu page_id PID of the system folder for FE-created auxiliary records xiliaryRecords feEditorRedirectPid page_id PID of the FE page to redirect to after saving a FE-created record feEditorNotifyEmail string e-mail address that receives a message if a new record has been FE-created [tsref:plugin.tx_realty_pi1.tx_realty_pi1.tpl.listView] Constants for the Realty Manager front-end plug-in in plugin. Property: Data Description: Default: type: cssFile string location of the CSS file (set as empty to not include the file) EXT:realty/pi1/tx_realty_pi1. usually this is selected via flexforms recursive integer recursion level for the starting point/pages list. there are some additional configuration option that can only be set using the TS setup (not with flexforms) in the form plugin.tx_realty_pi1] Setup for the list view For the list view.