History of Framework - Developer's Guide
{maketoc}
The Bitweaver Framework, consisting of Liberty and Kernel, offers you a lot of functionality. Here we'll try to show how you can make use of that.
!Business Objects a la Liberty
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!!Which base class?
If you want to create your own [http://en.wikipedia.org/wiki/Business_object_(computer_science)|Business Object], you will probably use LibertyAttachable as base class, as it offers most functionality. Use LibertyContent or LibertyBase when you know what you are doing.
!!LibertyAttachable
Classes derived from LibertyAttachable come with this functionality:
*They can take title and formatted text
*They maintain creation date, creator and modification date/modificator information
*their text content is subject to the full text seach
*The calendar can display events occurring to LibertyAttachable objects.
*Upon database access (store, load) other service plugins are triggered
If all you need is a new data type that contains some formatted text, you might be pretty quick in implementation:
{code}
<?php
require_once( LIBERTY_PKG_PATH.'LibertyAttachable.php' ); //import base class
define( 'BITRESOURCE_CONTENT_TYPE_GUID', 'bitresource' ); // This is used to uniquely identify the object
class BitResource extends LibertyAttachable {
/**
* During initialisation, be sure to call our base constructors
**/
function BitResource( $pContentId=NULL ) {
LibertyAttachable::LibertyAttachable();
$this->mContentId = $pContentId;
$this->mContentTypeGuid = BITRESOURCE_CONTENT_TYPE_GUID;
$parms = array(
'content_type_guid' => BITRESOURCE_CONTENT_TYPE_GUID,
'content_description' => 'Managed Resource',
'handler_class' => 'BitResource',
'handler_package' => 'mypackage',
'handler_file' => 'BitResource.php',
'maintainer_url' => 'mailto:guess@who.com'
);
$this->registerContentType( BITRESOURCE_CONTENT_TYPE_GUID, $parms ); // register class with Bitweaver
}
}
?>
{/code}
*getServicesSQL
*prepGetList
*postGetList
!!LibertyContent
!!LibertyBase
!Sorted Lists
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!Detail Views
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!Feedback and Confirmation
Up to now, the answer is to look at the ((SamplePackage)) and guess.
gBitSystem->setBrowserTitle()
gBitSystem->confirmDialog()
!Authorisation Required
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!!Menus and Modules
Up to now, the answer is to look at the ((SamplePackage)) and guess.
Layout assigned module titles and parameters
!Services
The previous section showed how you can add a nice HTML GUI to your code. Now see what can be done behind the scenes.
!Installation and Migration
Up to now, the answer is to look at the ((SamplePackage)) and guess.
The Bitweaver Framework, consisting of Liberty and Kernel, offers you a lot of functionality. Here we'll try to show how you can make use of that.
!Business Objects a la Liberty
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!!Which base class?
If you want to create your own [http://en.wikipedia.org/wiki/Business_object_(computer_science)|Business Object], you will probably use LibertyAttachable as base class, as it offers most functionality. Use LibertyContent or LibertyBase when you know what you are doing.
!!LibertyAttachable
Classes derived from LibertyAttachable come with this functionality:
*They can take title and formatted text
*They maintain creation date, creator and modification date/modificator information
*their text content is subject to the full text seach
*The calendar can display events occurring to LibertyAttachable objects.
*Upon database access (store, load) other service plugins are triggered
If all you need is a new data type that contains some formatted text, you might be pretty quick in implementation:
{code}
<?php
require_once( LIBERTY_PKG_PATH.'LibertyAttachable.php' ); //import base class
define( 'BITRESOURCE_CONTENT_TYPE_GUID', 'bitresource' ); // This is used to uniquely identify the object
class BitResource extends LibertyAttachable {
/**
* During initialisation, be sure to call our base constructors
**/
function BitResource( $pContentId=NULL ) {
LibertyAttachable::LibertyAttachable();
$this->mContentId = $pContentId;
$this->mContentTypeGuid = BITRESOURCE_CONTENT_TYPE_GUID;
$parms = array(
'content_type_guid' => BITRESOURCE_CONTENT_TYPE_GUID,
'content_description' => 'Managed Resource',
'handler_class' => 'BitResource',
'handler_package' => 'mypackage',
'handler_file' => 'BitResource.php',
'maintainer_url' => 'mailto:guess@who.com'
);
$this->registerContentType( BITRESOURCE_CONTENT_TYPE_GUID, $parms ); // register class with Bitweaver
}
}
?>
{/code}
*getServicesSQL
*prepGetList
*postGetList
!!LibertyContent
!!LibertyBase
!Sorted Lists
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!Detail Views
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!Feedback and Confirmation
Up to now, the answer is to look at the ((SamplePackage)) and guess.
gBitSystem->setBrowserTitle()
gBitSystem->confirmDialog()
!Authorisation Required
Up to now, the answer is to look at the ((SamplePackage)) and guess.
!!Menus and Modules
Up to now, the answer is to look at the ((SamplePackage)) and guess.
Layout assigned module titles and parameters
!Services
The previous section showed how you can add a nice HTML GUI to your code. Now see what can be done behind the scenes.
!Installation and Migration
Up to now, the answer is to look at the ((SamplePackage)) and guess.