Paragon 1.0.7

Paragon provides a fast application development framework.
Paragon provides a fast application development framework.

Paragon is a powerful, robust, and flexible fast application development framework. It contains a structured library of extensible components used for modelling real world objects and processes, and is a true 3-tier system defining an abstraction between the presentation, business logic, and data access layers.

It provides a set of extensible APIs for modelling custom business logic and employs a simplified Model-View-Controller design paradigm. APIs are also provided for a multi-lingual and mark-up agnostic graphical user interface display, relational database connection and communication, and more.

Here are some key features of "Paragon":

flexible graphical user interface display that is multi-lingual and mark-up agnostic
easy to use relational database connection and communication for relational databases supported by PHP (currently Postgresql and MySql supported).
simple SMTP/MIME message generation using Internet or Unix domain sockets
flexible authentication and authorisation of HTTP(s) requests.
configurable error handling
configurable file uploading via HTTP(s)

These extensible components are abstracted from a set of flexible and extensible API's used to model the custom business logic required by any web application.

The typical applications that Paragon can be used to create are

.user management with subscription
.content management systems
.product catalogue/shopping cart
.threaded multi-view bulletin board systems
.intranet systems
.extranets systems
.groupware systems

What's New in This Release:

Added the following classes
* common.AbstractAttributesObject - New abstract class that abstracts model.AbstractDatabaseObject into a common API that provides a mechanism to model a real world "entity" with a unique set of data attributes.
* http.Cookie - Simple class for encapsulating a HTTP cookie in Paragon.
* model.FileDatabaseObject - Implementation of the AssociatedDatabaseObject used to define a common API that models a data object with a computer files meta data in its attributes.
* model.actions.AddFileAction - New action class that handles the general case add action for a FileDatabaseObject
* model.actions.DecrementSortOrderAction - New class that handles decrementing the sort order of the marshaled instance.
* model.actions.EditFileAction - New action class that handles the general case edit action for a FileDatabaseObject
* model.actions.IncrementSortOrderAction - New class that handles incrementing the sort order of the marshaled instance.
* model.actions.PublishAction - New action class that handles publishing the marshaled instance.
* model.actions.RemoveFileAction - New action class that handles the general case remove action for a FileDatabaseObject
* model.actions.TogglePublishAction - New action class that handles toggling the publish status of the marshaled instance.
* model.actions.UnpublishAction - New action class that handles unpublishing the marshaled instance.
* model.attributes.DateTimeAttribute - New attribute class that models a datetime database field.
* model.attributes.EnumAttribute - New attribute class that models an enumerated database field.
* model.attributes.FloatAttribute - New attribute class that models a float database field.
* tools.ArrayIterator - New class which defines an API for iteration through the elements in a array
* tools.CsvParser - New class which defines an API for reading/writing CSV data
* Moved, renamed and modified the class tools.HttpFileUpload to http.FileUpload

Modified configure.pl script. Bug fix that did not allow numeric characters in config file names.

Modified the prepend.php file.
1) Added call to system_sendHeaders()
2) Added call to system_verifyProjectEnabled()

Modified the errorHandling.inc function library
1) Modified function errorHandling_initialiseErrorHandling(). Required change due to change in ParagonSettings.inc

Modified the system.inc function library
1) Modified function system_includeProjectPrependFile(). Bug fix.
2) Added new function system_verifyProjectEnabled()
3) Added new function system_verifyHttpsEnabled()
4) Modified function system_fileExists(). Required change due to change in ParagonSettings.inc and bug fix.
5) Modified function system_headersSent(). Bug fix.
6) Modified function system_includeFile(). Security/bug fix.
7) Modified system_getUserAgentDetails().
8) Modified function system_getDisplay(). Required change due to change in ParagonSettings.inc.
9) Modified function system_getRequest(). Required change due to change in ParagonSettings.inc.
10) Added new function system_getTemplate().
11) Modified function system_getDatabase(). Required change due to change in ParagonSettings.inc.
12) Modified function system_getSqlQuery(). Required change due to change in ParagonSettings.inc.
13) Modified function system_getSession(). Required change due to change in ParagonSettings.inc.
14) Modified function system_startSession(). Removed redundant error message.
15) Modified function system_getAuthenticator(). Required change due to change in ParagonSettings.inc.
16) Modified function system_getUser(). Required change due to change in ParagonSettings.inc.
17) Modified function system_getMailer(). Required change due to change in ParagonSettings.inc.
18) Modified function system_email(). Required change due to change in ParagonSettings.inc.
19) Modified function system_handleFileUpload(). Renamed and tools.HttpFileUpload to http.FileUpload. New package http.
20) Added new function system_verifyFileUploaded()
21) Modified function system_getCookie(). Uses new http.Cookie API
22) Modified and renamed function system_setCookieValue() to system_setCookie(). Uses new http.Cookie API and bug fixes
23) Modified and renamed function system_unsetCookieValue() to system_unsetCookie(). Uses new http.Cookie API and bug fixes
24)Modified and renamed function system_unsetCookieValues() to system_unsetAllCookies(). Uses new http.Cookie API and bug fixes
25) Modified function system_redirect(). Bug fix
26) Modified function system_sendHeaders(). Minor API change.
27) Modified function system_initialiseErrorHandler(). Required change due to change in ParagonSettings.inc.

Modified the ParagonSettings.inc.in object template
1) Added new class scope var $_projectEnabled
2) Added new class scope var $_allowedIpAddresses
3) Added new class scope var $_template
4) Renamed function _getSettings() to getSettings(). Made function public from private.
5) Renamed function _getSettingAttribute() to getSettingAttribute(). Made function public from private.
6) Removed function getEmailSettings()
7) Removed function getDatabaseSettings()
8) Removed function getDisplaySettings()
9) Removed function getModulesSettings()
10) Removed function getAuthSettings()
11) Removed function getErrorHandlingSettings()
12) Removed function getAuthSettings()
13) Added new function getProjectEnabled()
14) Added new function getAllowedIpAddresses()

auth.AbstractAuthenticator.inc
1) Modified function setAuthenticationIdentifier(). Required change due to change in ParagonSettings.inc.
2) Modified function setSession(). Removed redundant error handling
3) Added new function getUserIdentifierParameterName()
4) Added new function getAuthenticationFailureMessages()
5) Modified and renamed function _displayLoginForm() to displayLoginForm(). Made function public from private.
6) Removed function _displayAuthenticatedMessage()
7) Modified function _setInvalidUserDetailsFailureMessage(). Bug fix.
8) Modified function _setSessionLifetimeExceededFailureMessage(). Bug fix.
9) Modified function _setSessionIdleTimeExceededFailureMessage(). Bug fix.
10) Modified function _setMismatchedClientIpAddressFailureMessage(). Bug fix.
11) Modified function _setInvalidUserSessionDataFailureMessage(). Bug fix.
12) Modified function handleLogin(). Bug fix
13) Modified function authenticate(). Abstracted logic to new function.
14) Removed function _getSessionAuthenticationSettings(). Required change due to API change.
15) Modified function _getSessionUserSettings(). Required change due to API change.
16) Modified function _storeAuthentication(). Required change due to API change.
17) Modified function _removeAuthentication(). Required change due to API change.
18) Modified function _verifySessionLifetime(). Required change due to API change.
19) Modified function _verifySessionIdleTime(). Required change due to API change.
20) Modified function _verifyClientIpAddress(). Required change due to API change.
21) Modified function isAuthenticated(). Required change due to API change.

auth.AbstractUser.inc
1) Modified constructor
2) Modified function setAuthenticationIdentifier(). Required change due to change in ParagonSettings.inc.
3) Modified function getUserSessionAttributeName()
4) Modified function initialiseFromSession()

auth.session.AbstractSession.inc
1) Added new class scope var $_dateCreatedAttributeName
2) Modified function setAuthenticationIdentifier(). Required change due to change in ParagonSettings.inc.
3) Added new function getDateCreatedAttributeName()
4) Added new interface function setSessionAccessAttributes()
5) Added new interface function unsetSessionAccessAttributes()
6) Added new interface function getSessionAccessAttributes()

auth.session.PhpSession.inc
1) Modified function startSession(). Bug fix
2) Added new function setSessionAccessAttributes()
3) Added new function unsetSessionAccessAttributes()
4) Added new function getSessionAccessAttributes()
5) Modified function register(). Bug fix.
6) Modified function unregister(). Bug fix.

auth.session.AbstractDatabaseSession.inc
1) Removed class scope var $_authenticationAttributeNames
2) Moved class scope vars $_attributeDefinitions
3) Added new class scope var $_numberOfDefaultSetCookieAttempts
4) Added new class scope var $_testCookieName
5) Added new class scope var $_testCookieValue
6) Modified function setAuthenticationIdentifier(). Required change due to change in ParagonSettings.inc.
7) Added new function getDateCreatedAttributeName().
8) Modified function setSessionCookie(). Required change due to API change.
9) Modified function unsetSessionCookie(). Required change due to API change.
10) Remove function unsetSessionCookies().
11) Modified function initialiseSession(). Required change due to API change.
12) Modified function startSession(). Required change due to API change.
13) Modified function verifyClientAllowsCookies(). Required change due to API change.
14) Modified function unsetSession(). Required change due to API change.
15) Modified function getSessionAttribute(). Required change due to API change.
16) Added new function setSessionAccessAttributes()
17) Added new function unsetSessionAccessAttributes()
18) Added new function getSessionAccessAttributes()
19) Modified function register(). Required change due to API change.
20) Modified function isRegistered(). Required change due to API change.
21) Modified function unregister(). Required change due to API change.

common.AbstractObject
1) Added new function getUri()
2) Modified function includeFile(). Added new input parameter
3) Modified function getIncludedFileBuffer(). Added new input parameter

database.AbstractDatabaseConnection
1) Added new function getNumberOfRecordsAffected()

database.AbstractSqlQuery
1) Modified function getUpdateStatement().
2) Modified function getDeleteStatement().

database.MySqlDatabaseConnection
1) Modified function executeQuery(). Changed error handle condition
2) Added new function executeQuerygetNumberOfRecordsAffected()

database.PostgreSqlDatabaseConnection
1) Modified function executeQuery(). Changed error handle condition
2) Added new function executeQuerygetNumberOfRecordsAffected()

database.SqlRecordIterator
1) Updated documentation
2) Renamed function _seekToRecord() to seekToRecord(). Made function public from private

display.AbstractDisplay
1) Modified function includeFile(). Added new input parameter
2) Modified function getIncludedFileBuffer(). Added new input parameter

display.AbstractForm
1) Updated documentation
2) Modified function getValidationFailureMessage()

display.AbstractRequest
1) Modified function setParameter(). Corrected error handling condition

display.AbstractTemplate
1) Added new function getRegionContent()
2) Added new function startSession()

email.MimeMail
1) Updated documentation
2) Modified function setFileContentsAsBody()
3) Modified function addFileAsAttachment ()
4) Modified function _getBodyData(). Made all newline chars be prefixed by carraige return as per RFC 2045
5) Modified function _getMailData(). Made all newline chars be prefixed by carraige return as per RFC 2045
6) Modified function _getMultipartData(). Made all newline chars be prefixed by carraige return as per RFC 2045
7) Modified function _getPartData(). Made all newline chars be prefixed by carraige return as per RFC 2045

email.SmtpMail
1) Added new class scope var $_ignoreEmailAddressVaidation
2) Modified function connect(). Corrected error handling condition
3) Added new function isConnected()
4) Modified function disconnect()
5) Added new function setIgnoreEmailAddressVaidation()
6) Modified function setFrom(). Bug fix
7) Modified function addRecipient()
6) Added new function unsetHeaders()
7) Modified function removeRecipient(). Corrected error handling condition
8) Modified function _sendRecipientData()
9) Modified function _getHeaderData(). Made all newline chars be prefixed by carraige return as per RFC 2045
10) Modified function _getMailData(). Made all newline chars be prefixed by carraige return as per RFC 2045
11) Modified function _sendData(). Made all newline chars be prefixed by carraige return as per RFC 2045
12) Modified function _validateSmtpServerResponse(). Corrected error handling condition.
13) Modified function _sendCommand(). Corrected error handling condition. Bug fix
14) Modified function send()
15) Modified function reset()

model.actions.AbstractAction
1) Added new class scope var $_nameIdentifier
2) Added new class scope var $_setActionRequestedParameter
3) Added new function getNameIdentifier()
4) Added new function setNameIdentifier()
5) Added new function getSetActionRequestedParameter()
6) Modified function _getActionRequest()

model.actions.AddAction
1) Removed redundant class scope var $_authorisationRules
2) Modified function performAction()

model.actions.EditAction
1) Removed redundant class scope var $_authorisationRules

model.actions.EditPasswordAction
1) Removed redundant class scope var $_authorisationRules

model.actions.EditUserPasswordAction
1) Removed redundant class scope var $_authorisationRules

model.actions.RemoveAction
1) Added new class scope var $_setActionRequestedParameter
2) Removed redundant class scope var $_authorisationRules

model.actions.ViewAction
1) Added new class scope var $_setActionRequestedParameter
2) Added new function _displayActionForm()

model.attributes.AbstractAttribute
1) Added new function getDefaultValue()

model.attributes.DateAttribute
1) Updated documentation
2) Removed class scope var $_yearRange
3) Removed class scope var $_monthOffset
4) Modified class scope var $_dateRegExp
5) Added new class scope var $_allowedSeparatorCharacters
6) Added new class scope var $_dateSeparatorCharacter
7) Modified class scope var $_definedSettings
8) Modified function _validateDateValue().

model.attributes.DomainNameAttribute
1) Added new class scope var $_allowUriSuffix

model.attributes.EmailAddressAttribute
1) Modified function _validateEmailAddress()

model.attributes.IdentifierAttribute
1) Removed class scope var $_defaultValue
2) Added new class scope var $_bannedValues
3) Modified class scope var $_definedSettings
4) Modified function _validateIdentifierValue()

model.attributes.IntegerAttribute
1) Modified class scope var $_defaultValue
2) Modified class scope var $_definedSettings
3) Modified function _validateIntegerValue()
4) Modified function _verifyLowerLimit()
5) Modified function _verifyUpperLimit()

model.attributes.TextAttribute
1) Modified class scope var $_definedSettings

model.AbstractActionMarshaler
1) Updated documentation
2) Added new class scope var $_actionLinksHeading
3) Modified constructor. Abstracted logic to new function
4) Added new function _assignObjectInstance()
5) Modified function setAuthenticationIdentifier().
6) Added new function setActionLinksHeading()
7) Added new function getActionLinksHeading()
8) Added new function setDisplaySearchFormInSelectInstance()
9) Added new function setDisplayListSelectInstance()
10) Modified function getMarshaledInstanceRequest(). Added new input parameter
11) Modified function getRequest(). Added new input parameter
12) Added new function displayRequest()
13) Modified function _getAction()
14) Modified function _getAuthorisedActions(). Performance enhancement
15) Added new function _displayAuthorisedActionLink()
16) Modified function displayAuthorisedActionsAsLinks().
17) Modified function _handleInitialisation()
18) Added new function _getSelectInstanceActionSettings()
19) Modified function _selectInstance(). Removed input parameter. Abstract logic to new function

model.AbstractAssociationObject
1) Modified constructor.
2) Modified function getAllAssociatedToMemberSqlQuery(). Bug fix
3) Modified function getAllForMemberSqlQuery(). Bug fix

model.AbstractDatabaseObject
1) Modified inheritence to extend from new AbstractAttributesObject. Updated documentation accordingly
2) Removed class scope var $_nameAttributeNames. Now in superclass
3) Added new class scope var $_assignDefaultSearchAttributeNames
4) Added new class scope var $_assignDefaultForeignSearchAttributeNames
5) Modified constructor.
6) Removed function _assignParameters(). Now in superclass
7) Removed function getValidationFailureMessages(). Now in superclass
8) Modified function enableNamespace().
9) Removed function getNamespace(). Now in superclass
10) Removed function disableNamespace(). Now in superclass
11) Removed function _parseRequestParamsForNamespace(). Now in superclass
12) Removed function isNamespaced(). Now in superclass
13) Removed function getParameterName(). Now in superclass
14) Removed function getAttributeNames(). Now in superclass
15) Removed function getAttributeValues(). Now in superclass
16) Removed function getAttributeValue(). Now in superclass
17) Removed function resetAttributeValue(). Now in superclass
18) Removed function setAttributeValue(). Now in superclass
19) Removed function _unsetAttributeValidationFailureMessage(). Now in superclass
20) Removed function _setAttributeValidationFailureMessage(). Now in superclass
21) Removed function setAttributeValues(). Now in superclass
22) Removed function unsetAttributeValues(). Now in superclass
23) Removed function unsetAttributeValue(). Now in superclass
24) Removed function getName(). Now in superclass
25) Removed function getValidationFailureMessage(). Now in superclass
26) Modified function putIdInRequest()
27) Removed function uninitialise(). Now in superclass
28) Modified function _verifyIntegrityOfDataToStore()
29) Modified function storeAttributes(). Added new input parameter
30) Modified function storeAttribute(). Added new input parameter
31) Modified function getLister(). Bug fix
32) Modified function getFormElementLister()
33) Modified function getSearcher(). Bug fix
34) Modified function getSearchWhereClause()
35) Modified function getForeignSearchWhereClause
36) Modified function getIdsFromRequest()
37) Modified function getAllForIds(). Added new input parameters
38) Removed function getSelectedItemString(). Now in superclass

model.AbstractDatabaseObjectIterator
1) Added new class scope var $_foreignDataFields
2) Modified function getNext()
3) Modified function getForeignDataFields()

model.AbstractDatabaseObjectLister
1) Modified function setActionSetting()
2) Modified function setActionSettings()
3) Modified function _displayListItems()
4) Modified function _displayColumnedListItems()

model.AbstractDatabaseObjectSearcher
1) Added new class scope var $_additionalSearchWhereClauses
2) Added new class scope var $_searchWhereJoin
3) Modified function setActionSetting()
4) Added new function setAdditionalSearchWhereClauses()
5) Added new function setSearchWhereJoin()
6) Added new function getDisplayResultsRequestParamValue()
7) Modified function _hasEnoughInformation()
8) Added new function _getRequest()
9) Modified function _getSqlQuery(). Performance improvement
10) Modified function _getRelationshipWhereClauses(). Bug fix

model.AbstractRelationship
1) Modified function getContainersForReferencedIdSqlQuery()
2) Modified function getContainersWithoutReferenceSqlQuery()
3) Modified function getContainersWithReferenceSqlQuery()

model.AssociatedDatabaseObject
1) Modified function getAssociatesIdsFromRequest(). Bug fix
2) Modified function getAssociatedFormElementLister(). Bug fix
3) Modified function getAllForMemberIdsSqlQuery(). Bug fix
4) Modified function synchroniseAllAssociationsFromRequest(). Bug fix
5) Modified function updateAllAssociationsFromRequest(). Bug fix

model.ComplexDatabaseObject
1) Modified constructor
2) Modified function getReferencedFormElementLister(). Bug fix
3) Modified function updateAllRelationshipAttributeValuesFromRequest(). Bug fix
4) Modified function updateRelationshipAttributeValueFromRequest(). Bug fix
5) Modified function removeAllContainerReferences(). Bug fix

model.SequentialActionMarshaler
1) Updated documentation
2) Added new class scope var $_sequentialActions
3) Added new class scope var $_actionCompletedParamName
4) Added new class scope var $_actionCompletedParamValue
5) Modified constructor. Abstracted logic for over-riding
6) Added new function _assignSessionClassname()
7) Added new function getSequentialActions()
8) Added new function _handleSessionInitialisation()
9) Modified function setSessionAttributeData()
10) Added new function getCompletedAction()
11) Modified function getActionRequested(). Bug fix
12) Modified function _updateCompletedActionsSessionData(). Bug fix
13) Modified function _hasNextActionIdentifier(). Bug fix
14) Modified function _getNextActionIdentifier(). Bug fix
15) Added new function _handleInitialisation()
16) Added new function _handleSequentialAction()
17) Added new function handleAction()
18) Modified function handleActions(). Bug fix
19) Added new function resetSequence()

tools.Calendar
1) Updated documentation
2) Modified class scope var $_monthSelectIncludeFiles
3) Modified class scope var $_yearSelectIncludeFiles
4) Modified class scope var $_selectedDate
5) Modified function _validateDate()
6) Modified function getDateParts()
7) Modified function displayMonthSelectMenu()
8) Modified function displayYearSelectMenu()
9) Modified function _initialiseCalendar()
10) Modified and renamed function _setSelectedDate() to setSelectedDate()
11) Modified function displayCalendar()

tools.ErrorHandler
1) Modified constructor. Required change due to change in ParagonSettings.inc.
2) Modified function _logError().

tools.editors.FckEditor
1) Updated documentation
2) Modified class scope var $_fckEditorUri
3) Removed class scope var $_definedToolbars
4) Added new class scope var $_allowedSettings
5) Added new class scope var $_configFile
6) Modified function setToolbar()
7) Renamed function setSettings() to addSettings()
8) Modified function addSetting()
9) Added new function setConfigFile()
10) Added new function getConfigFile()
11) Modified function setAuthenticationIdentifier(). Required change due to change in ParagonSettings.inc.
12) Modified function _verifyUserAgentIsSupported()
13) Modified function getRequest()

last updated on:
March 18th, 2007, 1:35 GMT
price:
FREE!
developed by:
Rob Alfaro
license type:
LGPL (GNU Lesser General Public License) 
category:
ROOT \ Database \ Database APIs

FREE!

In a hurry? Add it to your Download Basket!

user rating 2

UNRATED
3.0/5
 

0/5

Add your review!

SUBMIT