History of LibertyServices

Liberty Services add functionality to the ((LibertyPackage|Liberty CMS Engine)). Services do things like, add categorization, user ratings, attach additional data, to any content being managed by Liberty. Typical types of content in bitweaver are wiki pages, blog posts, articles, etc. So Liberty Services adds extra features to any of these content types, or a content type you create as a developer.

__Note:__ ''Content is created in bitweaver Packages. If you are not familiar with what a Package is or how the bitweaver application framework works, please first read the following pages: ((Bitweaver Framework)) and ((bitweaverPackage))''

The really exciting part of Liberty Services is that they can be easily extended. Which means it is easy for developers to add core functionality to the content management engine. Any Package can add to Liberty Services.

There are many bitweaver packages that do nothing except add functionality to the ((LibertyPackage|Liberty CMS Engine)). Some examples are QuotaPackage, GatekeeperPackage, PigeonholesPackage, CategoriesPackage, PdfPackage, and GeoPackage. All these add features to all content being managed by Liberty.


!How To Create A Liberty Service
Tutorial: ((CreatingServices))


!Liberty Services Features Reference
!!R2 Liberty Service GUIDs
The following is a list of Liberty Service GUIDs found in Liberty:LibertyServices.php. This are all in use by various packages. If you are creating a service you will either have to associate your services with one of these or create a new one for your service. __If you plan to associate your service with one of these be aware that ONLY ONE package can be associated with each service__. For example, both the CategoriesPackage and PigeonholesPackage use the Liberty Service GUID: LIBERTY_SERVICE_CATEGORIZATION, therefore both CAN NOT be installed at the same time! If another package you want to use already uses one of these you should create a new Service GUID in LibertySystem.php for your service.

|| __::Liberty Service GUID::__ | __::Descriptor::__ | __::Packages Using::__
LIBERTY_SERVICE_ACCESS_CONTROL|access_control
LIBERTY_SERVICE_CATEGORIZATION|categorization|((CategoriesPackage)) ((PigeonholesPackage))
LIBERTY_SERVICE_COMMERCE|commerce
LIBERTY_SERVICE_METADATA|metadata
LIBERTY_SERVICE_MENU|menu
LIBERTY_SERVICE_DOCUMENT_GENERATION|document_generation
LIBERTY_SERVICE_SEARCH|search
LIBERTY_SERVICE_RATING|rating
LIBERTY_SERVICE_TRANSLATION|translation
LIBERTY_SERVICE_TRANSLITERATION|transliteration
LIBERTY_SERVICE_CONTENT_TEMPLATES|content_templates
LIBERTY_SERVICE_GEO|global_positioning|((GeoPackage))
LIBERTY_SERVICE_MAPS|map_display|((GmapPackage))
||


!!Service Options
This is a list of the available service methods developers can register their own service functions to. These assume some knowledge of how ((bitweaverPackage|bitweaver Packages)) work:

!!! Sql Extensions
__content_list_sql_function__
Allows the extension of existing SQL while getList() is called. table aliases are kept constant throughout so you can easily join pertinent data to the existing SQL when getList() is called from any package. You can also insert some select_sql as well, to limit the selection critieria.

__content_load_sql_function__
This is basically the same as content_list_sql_function but it's called during the load() process. the output should be virtually the same.


!!! Functions
__content_display_function__
This function is called during the displaying of the content, i.e. while the page is being loaded. this means, you can add more sophisticated queries and checks in here, if there is no possibility to do this with the SQL functions above.

__content_preview_function__
This function is called when a page is being editied and a user hits preview. it's mostly there for you to make any selections the user has made persistent during the preview phase.

__content_edit_function__
When a user wants to edit content, this function is called. it allows you to generate data for any templates you need to fill in the edit page (more below).

__content_store_function__
Here you can store the content data in your serice tables.

__content_expunge_function__
Make sure the data from your tables is removed when a user removes the content it belongs to.


!!! Templates
__content_edit_tab_tpl__
This template is displayed as a seperate tab when a user is editing content. this is useful for services that might contain several lines of code and want to have their own section when a user edits a page. This template is only available when the user is editing data.

__content_edit_mini_tpl__
This template is displayed during the edit process and is particularly useful when you have a single dropdown to display, since it's displayed below the textarea a user uses to edit the content. This template is only available when the user is editing data.

__content_view_tpl__
This template is appended to the bottom of the page, like a list of pages in the same category. This is only visible when the full content is loaded i.e.: when an article is being read but not just viewed on the front page.

__content_nav_tpl__
You can use this to insert a narrow template at the top of a page. this can be useful to display the path to an object or the status of a page. This is only visible when the full content is loaded i.e.: when an article is being read but not just viewed on the front page.

__content_icon_tpl__
insert an icon in the list of existing icons in the top right on a page. This will enable you to get your users to link to a template in your own package and deal with certain needs that way.

__content_body_tpl__
insert a small template into the top of the <div class="body"> part of the content. this template will be visible in listings such as the articles front page as well.


!!! Commerce Functions
This are made available via BitCommercePackage
__commerce_pre_purchase_function__
Provides a way for any package to perform actions moments before a payment is made

__commerce_post_purchase_function__
Provides a way for any package to perform actions moments after a successful payment is made
Page History
Date/CommentUserIPVersion
21 Aug 2010 (15:54 UTC)
Will69.203.72.16122
Current • Source
Will69.203.72.16121
View • Compare • Difference • Source
spiderr66.194.217.22220
View • Compare • Difference • Source
xing62.47.250.1419
View • Compare • Difference • Source
WaterDragon82.171.181.20818
View • Compare • Difference • Source
Will69.203.72.16117
View • Compare • Difference • Source
Will69.203.72.16116
View • Compare • Difference • Source
xing194.152.164.4515
View • Compare • Difference • Source
Will68.174.111.4714
View • Compare • Difference • Source
Will68.174.111.4713
View • Compare • Difference • Source
xing194.152.164.4512
View • Compare • Difference • Source
Will68.174.111.4711
View • Compare • Difference • Source
Will68.174.111.4710
View • Compare • Difference • Source
Will68.174.111.479
View • Compare • Difference • Source
Will68.174.111.478
View • Compare • Difference • Source
spiderr66.93.240.2046
View • Compare • Difference • Source
spiderr66.93.240.2044
View • Compare • Difference • Source
spiderr66.93.240.2041
View • Compare • Difference • Source