Help System Ver 1.1

Help System is an open source Yii extension that developers can use to easily implement a help system within their applications.

About

Help System is an open source Yii framework extension which provide a custom help tool for your web page. You can place the widget any where in the view with just a few lines of code and configuration. The help text can be categorized into "Sections" and "Topics". You can add N-number of "Topics" under each "Section" and each "Topic" in turn can have N-number of child topics.

The application supports both Bootstrap 2 and 3. The user can switch between the versions by simply giving the Bootstrap version number in the configuration.

The application is divided into two separate modules, "Admin" and "Client".

Client

Help System client provides a dynamic widget that can be placed anywhere on your web page. The widget provides a link which when clicked will open up a popup window which displays the "Sections" and "Topics".

Features
  • Draggable – The widget popup box is draggable.
  • Resizable – The popup window is resizable from its right end corner.

Admin

In the Admin section there is a content management system which you can use to add help content.

Admin url –

http://<>/index.php?r=helpSystem/admin/topic

Note – If URL rewrite is on this will be different.

Section Management

This allows you to see the list of existing sections, add new sections, edit or delete existing ones. Note that you cannot delete sections which have topics under it.

Topic Management

Topic Management consist of topic add area , topic listing , topic edit and delete and topic reordering. Note that when you delete a topic all child topics of that topic will also be deleted.

Topic Reorder

Topic reorder section displays a tree structure of topics. Here you can change the order of the topic listing and you can even change the parent of a topic. This is based on the section you have chosen from the filter.

  • Extract Help System to protected/extensions folder
  • Go To your Application, click on src->protected->config->main.php. Add HelpSystem in modules array

'helpSystem'=>array(
    class'=>'ext.helpSystem.HelpSystemModule',
   'modules'=>array(
        'admin'=>array(
            'class'=>'ext.helpSystem.modules.admin.AdminModule'
        ),
        'client'=>array(
               'class'=>'ext.helpSystem.modules.client.ClientModule',),
        ),
        
        'dmEditor'=>array(
		'class'=>'ext.helpSystem.extensions.dmEditor.DMEditorModule',
		'allowedImageSize'=>2, // add the maximum upload size in MB. Enter int value.
		'imageUploadPath'=>'images/EditorImages',// the path to which image uploaded.
		'allowedImageTypes'=>array('gif', 'jpeg', 'jpg', 'png') // allowed images types
							
					)
        
    'bootstrapVersion'=>'3',// Pass the current bootstrap version 2 or 3
                    
    'userRole'=>array()//Add roles if any. eg array('admin','editor')
    'pageLayout'=>'///layouts/column1'
                    
    )
                   

Configuration param details

BootstrapVersion

Pass the bootstrap version number here. If you skip this it will take 2 as default bootstrap version number.

UserRole

This configuration is an array. Here you can pass the RBAC role to manage the permission in admin level. To work with this you need to implement RBAC in your application.

PageLayout

This is an optional field. We can set the page layout path here. If we place null as value, it will take the application layout.

Database Configuration

Run the following MySql scripts

  • extensions/helpSystem/database/1_DDL/1_helpSystem_base_script.sql
  • extensions/helpSystem/database/4_DML/1_hlp_Language_Insert_script.sql


Add following widget code in you view
<?php $this->widget(
     'application.extensions.helpSystem.modules.client.components.HelpWidget',
      array('title'=>'HELP',
           'linkClass'=>'btn btn',
            'sectionId'=>your Section Id, 
            'topicId'=> <your topic id>,  //if you want to see specific topic than topic index,
            'header'=>'Help System',
            'headerBackGroundColor'=>'#99FF33',
            )
);?>            
                   

Widget param details

  • Title – The Widget box title can be defined here. This is an optional param, if you skip this 'HELP' will be set as title.
  • LinkClass – This is css class name that is passed to the widget button.
  • SectionId – This is a mandatory param. You need to pass the section primary key here. The widget will load all the topics under this section in this widget.
  • TopicId – This is an optional field. If we want the help system widget to show a particular topic page instead of topic index, we can pass the topicId.
  • Header – This is an optional field. Header text is passed in this param. If you skip this then 'Help System' will be set as header param.
  • HeaderBackGroundColor – In this you can pass the color code for header background.

Requirements

  • Tested with Yii 1.1.14, should work in earlier versions
  • BootStrap 2 or 3
  • cleditor 1.0

Used components

  • jQuery 1.8.3 (Included in Yii 1.1.14).
  • jQuery UI 1.9.2 (Included in Yii 1.1.14).
  • jQuery UI Touch Punch 0.2.2.
  • jsTree 1.0-rc3.
  • Ckeditor 4

Future add ons

  • Multilingual support
  • Image uploading

What's New

Version 1.1 (07 Feb 2014)
  • Added new custom editor using Ck Editor features with image upload
  • Individual topic display
  • Removed Cleditor
Help System Client
Help System index page
Help System description page
Help System description with image
Help System Admin
Help System Admin - Topic
Help System Admin - Add new topic
Help System Admin - Section