diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldBL.php b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldBL.php
new file mode 100644
index 0000000..7e74762
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldBL.php
@@ -0,0 +1,30 @@
+fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCreate.inc");
+ require_once("addDocFieldUI.inc");
+ //require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc");
+ require_once("$default->fileSystemRoot/lib/security/permission.inc");
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
+ require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");
+ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
+ require_once("$default->fileSystemRoot/presentation/Html.inc");
+
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(getPage());
+ $main->setCentralPayload($oPatternCustom);
+ $main->setFormAction("$default->rootUrl/presentation/lookAndFeel/knowledgeTree/create.php?fRedirectURL=".urlencode("$default->rootUrl/control.php?action=editDocField&fFromCreate=1&fDocFieldID="));
+ $main->render();
+}
+?>
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldUI.inc
new file mode 100644
index 0000000..f463980
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/addDocFieldUI.inc
@@ -0,0 +1,46 @@
+ "$default->owl_data_types_table");
+ $aDropDownListValueColumns = array(1=>'name');
+ $aDropDownListDisplayColumns = array(1=>'name');
+
+ // create a text field that is required
+ $oPatternCreate = & new PatternCreate("DocumentField", "documentmanagement/DocumentField.inc",$aDisplayRowNames, $aParameterNumbers, $aDisplayColumnTypes, $aRequired,$aDropDownListTableNames,$aDropDownListValueColumns,$aDropDownListDisplayColumns);
+ $oPatternCreate->setUniqueName("DocField");
+
+ $sToRender .= " \n";
+ $sToRender .= "Add a New Document Field to the System: \n";
+ $sToRender .= "
\n";
+
+ return $sToRender;
+
+
+
+}
+?>
\ No newline at end of file
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldBL.php b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldBL.php
new file mode 100644
index 0000000..27638f6
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldBL.php
@@ -0,0 +1,68 @@
+fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");
+ require_once("editDocFieldUI.inc");
+ require_once("$default->fileSystemRoot/lib/security/permission.inc");
+ require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc");
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
+ require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");
+ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
+ require_once("$default->fileSystemRoot/presentation/Html.inc");
+
+
+ $oPatternCustom = & new PatternCustom();
+
+ if (isset($fForStore)) {
+ $oDocField = DocumentField::get($fDocFieldID);
+ $oDocField->setName($fDocFieldName);
+ $oDocField->setDataType($fDocFieldDataType);
+
+ //check if checkbox checked
+ if (isset($fDocFieldIsGeneric)) {
+ $oDocField->setIsGeneric(true);
+ } else {
+ $oDocField->setIsGeneric(false);
+ }
+ //check if checkbox checked
+ if (isset($fDocFieldHasLookup)) {
+ $oDocField->setHasLookup(true);
+ } else {
+ $oDocField->setHasLookup(false);
+ }
+ if ($oDocField->update()) {
+ // if successfull print out success message
+ $oPatternCustom->setHtml(getEditPageSuccess());
+
+ } else {
+ // if fail print out fail message
+ $oPatternCustom->setHtml(getEditPageFail());
+ }
+ } else if (isset($fDocFieldID)){
+ // post back on DocField select from manual edit page
+ $oPatternCustom->setHtml(getEditPage($fDocFieldID));
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fForStore=1");
+
+
+ } else {
+ // if nothing happens...just reload edit page
+ $oPatternCustom->setHtml(getEditPage(null));
+ $main->setFormAction($_SERVER["PHP_SELF"]);
+
+ }
+ //render the page
+ $main->setCentralPayload($oPatternCustom);
+ $main->render();
+}
+?>
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldUI.inc
new file mode 100644
index 0000000..4738eca
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/editDocFieldUI.inc
@@ -0,0 +1,160 @@
+\n";
+ $sToRender .= "Edit Document Field Properties: \n";
+ $sToRender .= "\n";
+
+
+ return $sToRender;
+}
+
+// if edition is successful print otu success page
+function getEditPageSuccess() {
+ global $default;
+
+ $sToRender .= " \n";
+ $sToRender .= "Success! \n";
+ $sToRender .= "\n";
+
+
+ return $sToRender;
+}
+
+
+// gets the page if edition fails
+function getEditPageFail() {
+ global $default;
+
+ $sToRender .= " \n";
+ $sToRender .= "FAILURE! \n";
+ $sToRender .= "\n";
+
+
+ return $sToRender;
+}
+
+// show the list box when no DocField selected
+// then shows a text box with the DocField's name
+function getDocFieldDisplay($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ $oPatternListBox = & new PatternListBox($default->owl_fields_table, "name", "id", "fDocFieldID");
+ //$oPatternListBox->setIncludeDefaultValue(true);
+ $oPatternListBox->setPostBackOnChange(true);
+ return $oPatternListBox->render();
+ } else {
+ return " iId . "\">\n" .
+ " getName() . "\">";
+ }
+
+}
+
+// returns the checkbox ticked or unticked
+function getIsGenericCheckBox($oDocField) {
+ if (!isset($oDocField)) {
+ return "";
+ } else {
+ return " getIsGeneric() ? "CHECKED " : " ") . " />";
+ }
+}
+
+// returns the checkbox ticked or unticked
+function getHasLookupCheckBox($oDocField) {
+ if (!isset($oDocField)) {
+ return "";
+ } else {
+ return " getHasLookup() ? "CHECKED " : " ") . " />";
+ }
+
+}
+
+// gets the updatebutton when a DocField is selected
+function getUpdateButton($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ return "Please select a Document Field: ";
+ } else {
+ return " graphicsUrl/widgets/update.gif\" value=\"submit\" /> \n";
+ }
+}
+
+// gets the cancel button when a DocField is selected
+function getCancelButton($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ //return "rootUrl/control.php?action=DocFieldManagement\"> graphicsUrl/widgets/cancel.gif\" value=\"cancel\" /> \n";
+ } else {
+ return "rootUrl/control.php?action=editDocField\"> graphicsUrl/widgets/cancel.gif\" border = \"0\" /> \n";
+ }
+}
+?>
\ No newline at end of file
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldBL.php b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldBL.php
new file mode 100644
index 0000000..823ef36
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldBL.php
@@ -0,0 +1,54 @@
+fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");
+ require_once("removeDocFieldUI.inc");
+ require_once("$default->fileSystemRoot/lib/security/permission.inc");
+ require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc");
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
+ require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");
+ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
+ require_once("$default->fileSystemRoot/presentation/Html.inc");
+
+ $oPatternCustom = & new PatternCustom();
+
+ // get main page
+ if (isset($fDocFieldID)) {
+
+ $oPatternCustom->setHtml(getDeletePage($fDocFieldID));
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fForDelete=1");
+
+ // get delete page
+ } else {
+ $oPatternCustom->setHtml(getDeletePage(null));
+ $main->setFormAction($_SERVER["PHP_SELF"] );
+ }
+
+ // if delete entry
+ if (isset($fForDelete)) {
+ $oDocField = DocumentField::get($fDocFieldID);
+ $oDocField->setName($fDocFieldName);
+
+ if ($oDocField->delete()) {
+ $oPatternCustom->setHtml(getDeleteSuccessPage());
+
+ } else {
+ $oPatternCustom->setHtml(getDeleteFailPage());
+ }
+ }
+
+ $main->setCentralPayload($oPatternCustom);
+ $main->render();
+}
+?>
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldUI.inc
new file mode 100644
index 0000000..f7930e8
--- /dev/null
+++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/removeDocFieldUI.inc
@@ -0,0 +1,156 @@
+\n";
+ $sToRender .= "Remove Document Field From System: \n";
+
+ }
+ else{
+
+ $oDocField = DocumentField::get($fDocFieldID);
+ $sToRender .= " \n";
+ $sToRender .= "Are you sure you wish to Remove this Document Field?: \n";
+ }
+
+ $sToRender .= "\n";
+ $sToRender .= " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= "Document Field Name: " . getDocFieldDisplay($oDocField) . " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= "" . getDocFieldDataType($oDocField) . " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= "" . getIsGenericCheckBox($oDocField) . " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= "" . getHasLookupCheckBox($oDocField) . " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= " " . getDeleteButton($oDocField);
+ $sToRender .= " \n";
+ $sToRender .= "
\n";
+
+
+ return $sToRender;
+}
+
+// get successfully deletion page
+function getDeleteSuccessPage() {
+
+global $default;
+
+$sToRender = " \n" ;
+$sToRender .= "\n";
+
+return $sToRender;
+}
+
+// get deletion failed page
+function getDeleteFailPage() {
+
+global $default;
+
+$sToRender = " \n" ;
+$sToRender .= "\n";
+
+return $sToRender;
+}
+
+// show listbox...or the text name
+function getDocFieldDisplay($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ $oPatternListBox = & new PatternListBox($default->owl_fields_table, "name", "id", "fDocFieldID");
+ //$oPatternListBox->setIncludeDefaultValue(true);
+ $oPatternListBox->setPostBackOnChange(true);
+ return $oPatternListBox->render();
+ } else {
+
+ return " iId . "\">\n" .
+ "" . $oDocField->getName() . " ";
+ }
+
+}
+
+
+// show listbox...or the text name
+function getDocFieldDataType($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ return "";
+ } else {
+ return "Data Type: " . $oDocField->getDataType();
+ }
+
+}
+
+// show check box
+function getIsGenericCheckBox($oDocField) {
+ if (!isset($oDocField)) {
+ return "";
+ } else {
+ return "Is Generic: getIsGeneric() ? "CHECKED " : " ") . " />";
+ }
+}
+
+// show text box
+function getHasLookupCheckBox($oDocField) {
+ if (!isset($oDocField)) {
+ return "";
+ } else {
+ return "Has Lookup: getHasLookup() ? "CHECKED " : " ") . " />";
+ }
+
+}
+
+// show delete button
+function getDeleteButton($oDocField) {
+ global $default;
+ if (!isset($oDocField)) {
+ return "Please select a Document Field: ";
+ } else {
+ return " graphicsUrl/widgets/delete.gif\" value=\"submit\" /> \n".
+ "rootUrl/control.php?action=removeDocField\"> graphicsUrl/widgets/cancel.gif\" border = \"0\" /> \n";
+ }
+}
+?>