diff --git a/plugins/ktcore/KTCorePlugin.php b/plugins/ktcore/KTCorePlugin.php index 10a4060..f8a240c 100644 --- a/plugins/ktcore/KTCorePlugin.php +++ b/plugins/ktcore/KTCorePlugin.php @@ -18,9 +18,11 @@ require_once('KTPermissions.php'); require_once('KTAdminPlugins.php'); require_once('KTDashletPlugins.php'); -$oPlugin->registerAdminPage('authentication', 'KTAuthenticationAdminPage', 'principals', 'Authentication', 'FIXME: describe authentication', 'authentication/authenticationadminpage.inc.php'); +$oPlugin->registerAdminPage('authentication', 'KTAuthenticationAdminPage', 'principals', 'Authentication', 'FIXME: describe authentication', 'authentication/authenticationadminpage.inc.php'); $oPlugin->register(); +require_once('assistance/KTUserAssistance.php'); + require_once(KT_LIB_DIR . '/storage/ondiskpathstoragemanager.inc.php'); diff --git a/plugins/ktcore/KTDashletPlugins.php b/plugins/ktcore/KTDashletPlugins.php index 6e19f2d..d0be5c9 100644 --- a/plugins/ktcore/KTDashletPlugins.php +++ b/plugins/ktcore/KTDashletPlugins.php @@ -5,6 +5,11 @@ require_once(KT_LIB_DIR . '/plugins/plugin.inc.php'); require_once(KT_LIB_DIR . '/dashboard/dashlet.inc.php'); require_once(KT_LIB_DIR . "/templating/templating.inc.php"); require_once(KT_LIB_DIR . "/dashboard/Notification.inc.php"); +require_once(KT_LIB_DIR . "/security/Permission.inc"); + + +$oRegistry =& KTPluginRegistry::getSingleton(); +$oPlugin =& $oRegistry->getPlugin('ktcore.plugin'); /* * The registration hooks. @@ -13,6 +18,23 @@ require_once(KT_LIB_DIR . "/dashboard/Notification.inc.php"); * */ +// ultra simple skeleton for the admin tutorial +class KTBeta1InfoDashlet extends KTBaseDashlet { + function is_active($oUser) { + return true; + } + + function render() { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/dashlets/beta1info"); + $aTemplateData = array( + ); + return $oTemplate->render($aTemplateData); + } +} + +$oPlugin->registerDashlet('KTBeta1InfoDashlet', 'ktcore.dashlet.beta1info', __FILE__); + class KTNotificationDashlet extends KTBaseDashlet { var $oUser; @@ -36,10 +58,33 @@ class KTNotificationDashlet extends KTBaseDashlet { } } -$oRegistry =& KTPluginRegistry::getSingleton(); -$oPlugin =& $oRegistry->getPlugin('ktcore.plugin'); -$oPlugin->registerDashlet('KTNotificationDashlet', 'ktcore.notifications.dashlet', __FILE__); +$oPlugin->registerDashlet('KTNotificationDashlet', 'ktcore.dashlet.notifications', __FILE__); + +// replace the old checked-out docs. +class KTCheckoutDashlet extends KTBaseDashlet { + + var $oUser; + + function is_active($oUser) { + $this->oUser = $oUser; + return true; + } + + function render() { + + $checked_out_documents = Document::getList(array("checked_out_user_id = ?", $this->oUser->getId())); + + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/dashlets/checkedout"); + $aTemplateData = array( + "documents" => $checked_out_documents, + ); + return $oTemplate->render($aTemplateData); + } +} + +$oPlugin->registerDashlet('KTCheckoutDashlet', 'ktcore.dashlet.checkout', __FILE__); ?> \ No newline at end of file diff --git a/plugins/ktcore/assistance/KTUserAssistance.php b/plugins/ktcore/assistance/KTUserAssistance.php new file mode 100644 index 0000000..e5ae3e6 --- /dev/null +++ b/plugins/ktcore/assistance/KTUserAssistance.php @@ -0,0 +1,98 @@ +registerPlugin('KTUserAssistance', 'ktcore.userassistance', __FILE__); +$oPlugin =& $oRegistry->getPlugin('ktcore.userassistance'); + +// ultra simple skeleton for the user tutorial +class KTUserTutorialDashlet extends KTBaseDashlet { + function is_active($oUser) { + // FIXME check if the user has "turned this off" for themselves. + return true; + } + + function render() { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/dashlets/usertutorial"); + $aTemplateData = array( + ); + return $oTemplate->render($aTemplateData); + } +} + +$oPlugin->registerDashlet('KTUserTutorialDashlet', 'ktcore.dashlet.usertutorial', __FILE__); + +// ultra simple skeleton for the admin tutorial +class KTAdminTutorialDashlet extends KTBaseDashlet { + function is_active($oUser) { + // FIXME check if the user has "turned this off" for themselves. + return Permission::userIsSystemAdministrator($oUser->getId()); + return true; + } + + function render() { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/dashlets/admintutorial"); + $aTemplateData = array( + ); + return $oTemplate->render($aTemplateData); + } +} +$oPlugin->registerDashlet('KTAdminTutorialDashlet', 'ktcore.dashlet.admintutorial', __FILE__); + +class KTUserAssistBasePage extends KTStandardDispatcher { + var $sSection = 'help'; + var $aBreadcrumbs = array( + array('action' => 'dashboard', 'name' => 'Dashboard'), + array('name' => 'User Assistance') + ); + var $pagefile = 'base'; + var $title = 'User Assistance'; + function do_main() { + $this->oPage->setBreadcrumbDetails($this->title); + $contents = @file_get_contents(dirname(__FILE__) . '/docs/' . $this->pagefile); + if ($contents === false) { + $contents = '
Unable to find requested documentation.
Almost Everything. We have rewritten almost all of the KnowledgeTree DMS, and hope that the changes +will be good.
+ +Things you need to be aware of in terms of major changes for administrators:
+ + +To take advantage of a theme such as tango, copy its contents into the thirdparty/icon-theme directory.
FIXME we need a guide to getting started as an administrator. Since this is Beta1, we +assume that you have some history with KnowledgeTree™, so we ask that you start at +the "what's new for administrators" page.
diff --git a/plugins/ktcore/assistance/docs/base b/plugins/ktcore/assistance/docs/base new file mode 100644 index 0000000..85a26a2 --- /dev/null +++ b/plugins/ktcore/assistance/docs/base @@ -0,0 +1 @@ +OI! This doesn't work. diff --git a/plugins/ktcore/assistance/docs/kt-bug-reporting-guide b/plugins/ktcore/assistance/docs/kt-bug-reporting-guide new file mode 100644 index 0000000..a906676 --- /dev/null +++ b/plugins/ktcore/assistance/docs/kt-bug-reporting-guide @@ -0,0 +1,16 @@ +Our community forums are a good place to ask questions about installing, +configuring or using KnowledgeTree. Our developers, along with other +members of the open source community and our partner network, will +endeavour to answer your questions.
+ +Find the KnowledgeTree forums online at forum.ktdms.com
+ +You can report bugs in the open source KnowledgeTree server software by +accessing our online ticketing system. The ticketing system will also +provide feedback on the status of the issue. You may view issues +reported by other people and search the system to determine if your +issue has already been reported.
+ +Access the KnowledgeTree support website online at support.ktdms.com.
diff --git a/plugins/ktcore/assistance/docs/kt3b1-what-is-a-beta b/plugins/ktcore/assistance/docs/kt3b1-what-is-a-beta new file mode 100644 index 0000000..db9c180 --- /dev/null +++ b/plugins/ktcore/assistance/docs/kt3b1-what-is-a-beta @@ -0,0 +1,13 @@ +Beta software is pre-production quality software. It is released with +the intention of providing the software's users with insight into where +the software feature-set is going for a particular release cycle, +getting as wide a base of testers for the release as possible and +gauging the uptake of new features.
+ +The software may not be entirely complete yet and may be buggy. We +highly value your input and urge you to evaluate the software in a test +environment. We do however strongly suggest you do not to implement this +version of KnowledgeTree in a production environment as we can't warrant +it functioning correctly.
diff --git a/templates/ktcore/dashlets/admintutorial.smarty b/templates/ktcore/dashlets/admintutorial.smarty new file mode 100644 index 0000000..c898563 --- /dev/null +++ b/templates/ktcore/dashlets/admintutorial.smarty @@ -0,0 +1,10 @@ +If this is your first KnowledgeTree installation, +or if you've just upgraded from KnowledgeTree 2.x, we've put together some information +which might help you get to grips with the new system.
+ +FIXME This currently doesn't work.
If this is your first KnowledgeTree installation, +or if you've just upgraded from KnowledgeTree 2.x, we've put together some information +which might help you get to grips with the new system.
+ +What's a Beta? | +Help! Something went wrong! diff --git a/templates/ktcore/dashlets/checkedout.smarty b/templates/ktcore/dashlets/checkedout.smarty new file mode 100644 index 0000000..df543c1 --- /dev/null +++ b/templates/ktcore/dashlets/checkedout.smarty @@ -0,0 +1,14 @@ +Since a document +which is checked out cannot be modified by anyone else, +it is important to check them back in as soon as you have made +the apppriate changes.
+{if (!empty($documents))} +You have no documents which are currently checked out.
New to Document Management, or to +KnowledgeTree™ 3? We've written some quick documentation
+ +FIXME This currently doesn't work.