From 96c26236e18d69c878c7dd0e3775d4d821d01c86 Mon Sep 17 00:00:00 2001 From: vaibhav Date: Wed, 31 Jan 2018 11:54:42 +0530 Subject: [PATCH 1/4] Issue #118522 Feat: Document for TJ UCM --- _includes/sidebar.html | 2 + _posts/2017-01-17-com-api-introduction.md | 5 +- .../2017-01-17-com-api-plugin-development.md | 35 ++--- _posts/2017-09-15-com-api-making-api-calls.md | 3 +- ...7-09-15-tjreports-architecture-overview.md | 7 +- .../2017-09-15-tjreports-integration-guide.md | 53 +++---- .../2017-09-15-tjreports-writing-a-plugin.md | 1 + .../2017-09-16-hierarchy-manager-overview.md | 3 +- _posts/2017-09-16-tc-manager-overview.md | 3 +- _posts/2018-01-30-com-tjucm-database.md | 140 ++++++++++++++++++ ...01-30-com-tjucm-developer-documentation.md | 22 +++ _posts/2018-01-30-com-tjucm-features.md | 51 +++++++ _posts/2018-01-30-com-tjucm-installation.md | 37 +++++ _posts/2018-01-30-com-tjucm-introduction.md | 20 +++ _posts/2018-01-30-com-tjucm-paramters.md | 26 ++++ _sass/table.scss | 9 ++ css/screen.scss | 1 + index.html | 2 + 18 files changed, 369 insertions(+), 51 deletions(-) create mode 100644 _posts/2018-01-30-com-tjucm-database.md create mode 100644 _posts/2018-01-30-com-tjucm-developer-documentation.md create mode 100644 _posts/2018-01-30-com-tjucm-features.md create mode 100644 _posts/2018-01-30-com-tjucm-installation.md create mode 100644 _posts/2018-01-30-com-tjucm-introduction.md create mode 100644 _posts/2018-01-30-com-tjucm-paramters.md create mode 100644 _sass/table.scss diff --git a/_includes/sidebar.html b/_includes/sidebar.html index 9b9ecd5..ab2fefb 100644 --- a/_includes/sidebar.html +++ b/_includes/sidebar.html @@ -11,7 +11,9 @@ diff --git a/_posts/2017-01-17-com-api-introduction.md b/_posts/2017-01-17-com-api-introduction.md index 0ae111a..bd387ec 100644 --- a/_posts/2017-01-17-com-api-introduction.md +++ b/_posts/2017-01-17-com-api-introduction.md @@ -9,18 +9,19 @@ tags: - REST API type: Document navigation_weight: 1 +showSidebar: "true" --- # REST API framework for Joomla -com_api is a quick and easy way to add REST APIs to Joomla. Extendible via plugins, you an easily add support for more Joomla extensions. To get started, download the component and install the API plugins you need. Enable the plugins and you are ready to fetch your content via APIs. +com_api is a quick and easy way to add REST APIs to Joomla. Extendible via plugins, you an easily add support for more Joomla extensions. To get started, download the component and install the API plugins you need. Enable the plugins and you are ready to fetch your content via APIs. To add additional resources to the API, plugins need to be created. Each plugin can provide multiple API resources. Plugins are a convenient way to group several resources. Eg: A single plugin could be created for Quick2Cart with separate resources for products, cart, checkout, orders etc. ## Plugin Terms ### app -An app is essentially a Joomla plugin. However the plugin itself does nothing more than load the resources it contains. So the app is mainly used to package the API plugin and to enable adding any API specific parameters. Each app will have one or more resources. +An app is essentially a Joomla plugin. However the plugin itself does nothing more than load the resources it contains. So the app is mainly used to package the API plugin and to enable adding any API specific parameters. Each app will have one or more resources. ### resource Resources are files that have code to accept input and set the API output. You will usually have multiple resources in an app. A common use case is for an extension like Easysocial or Jomsocial to have a single app. The app contains resources for various objects like groups, events, photos, newsfeed etc. The resource will contain the methods `get()` `post()` `delete()` to perform CRUD operations on that type of object. diff --git a/_posts/2017-01-17-com-api-plugin-development.md b/_posts/2017-01-17-com-api-plugin-development.md index 6f9c76e..6387168 100644 --- a/_posts/2017-01-17-com-api-plugin-development.md +++ b/_posts/2017-01-17-com-api-plugin-development.md @@ -9,6 +9,7 @@ tags: - REST API type: Document navigation_weight: 0 +showSidebar: "true" --- # Writing your own API Plugin @@ -23,12 +24,12 @@ Each resource supports the GET, POST and DELETE operations. These are exposed by - login.php - Resource file - users.php - Resource file * users.php - plugin file -* users.xml - xml file +* users.xml - xml file You can add multiple resource in resource folder and use them for different purpose. Usually, each resource will map to an object type for your extension. ## Create plugin entry file users.php file -This is the entry file for the API plugin, the things that re deifned in the file are resource locations, and making certain resources public. Below is the code for the file - +This is the entry file for the API plugin, the things that re deifned in the file are resource locations, and making certain resources public. Below is the code for the file - ```php jimport('joomla.plugin.plugin'); @@ -38,14 +39,14 @@ class plgAPIUsers extends ApiPlugin public function __construct(&$subject, $config = array()) { parent::__construct($subject, $config = array()); - + // Set resource path ApiResource::addIncludePath(dirname(__FILE__).'/users'); - + // Load language files - $lang = JFactory::getLanguage(); + $lang = JFactory::getLanguage(); $lang->load('com_users', JPATH_ADMINISTRATOR, '', true); - + // Set the login resource to be public $this->setResourceAccess('login', 'public', 'post'); } @@ -64,14 +65,14 @@ class UsersApiResourceLogin extends ApiResource $result = new \stdClass; $result->id = 45; $result->name = "John Doe" - + $this->plugin->setResponse( $result ); } public function post() { // Add your code here - + $this->plugin->setResponse( $result ); } } @@ -80,7 +81,7 @@ class UsersApiResourceLogin extends ApiResource The array or object from the plugin should be set via `$this->plugin->setResponse()`. ## Error Handling -It is possible to send HTTP errors with the right HTTP codes using the `APIError::raiseError()` method. Depending on the type of error you can raise different Exceptions that set the appropriate HTTP code. +It is possible to send HTTP errors with the right HTTP codes using the `APIError::raiseError()` method. Depending on the type of error you can raise different Exceptions that set the appropriate HTTP code. ```php plugin->setResponse()` since com_api handles the response and setting the http code. -Note : The exception classes extend PHP's `Exception` class. So you will need to use numeric only codes, since PHP does not support non-numeric Exception codes. +Note : The exception classes extend PHP's `Exception` class. So you will need to use numeric only codes, since PHP does not support non-numeric Exception codes. ## Private and public resources - + Unless specified, all resources are private, which means an API token is needed to access. However, it is possible to make certain resource and methods public by using the setResourceAccess() access method as ```php -$this->setResourceAccess('login', 'public', 'post') +$this->setResourceAccess('login', 'public', 'post') ``` The first parameter is the resource name, second is status (should be public to make it public) and last is HTTP method to make public. Setting a resource public will mean that the API URL for that resource will not need any authentication. @@ -139,21 +140,21 @@ Finally create a manifest XML so that your plugin can be installed. Set group as YourPlugin 1.0 10/11/2016 - + your_plugin_name.php - your_plugin_name + your_plugin_name en-GB/en-GB.plg_api_plugin_name.ini en-GB/en-GB.plg_api_plugin_name.sys.ini - - + + ``` ## Tips for writing plugins - Think of API plugins as a replacement of controllers. Any business logic that you won't put in a controller, leave it out of the plugin too. Load and use your models in the plugin code. - It is not recommended to have API specific language files unless absolutely necessary. You will ususally make plugins for an existing component, so load the language files from that component. -- To create the list and details for an object type, you can either add a condition based on `id` query parameter in the `get()` method, or have a separate resource for the list. +- To create the list and details for an object type, you can either add a condition based on `id` query parameter in the `get()` method, or have a separate resource for the list. diff --git a/_posts/2017-09-15-com-api-making-api-calls.md b/_posts/2017-09-15-com-api-making-api-calls.md index edc4f41..1143a49 100644 --- a/_posts/2017-09-15-com-api-making-api-calls.md +++ b/_posts/2017-09-15-com-api-making-api-calls.md @@ -7,12 +7,13 @@ tags: - Joomla - REST API type: Document +showSidebar: "true" --- # Calling API resources ## API URLs -The URL to access any route is of the format - +The URL to access any route is of the format - `/api/{plugin}/{resource}` diff --git a/_posts/2017-09-15-tjreports-architecture-overview.md b/_posts/2017-09-15-tjreports-architecture-overview.md index eb0a191..b48ce11 100644 --- a/_posts/2017-09-15-tjreports-architecture-overview.md +++ b/_posts/2017-09-15-tjreports-architecture-overview.md @@ -7,13 +7,14 @@ tags: - tjreports - architecture type: Document +showSidebar: "true" --- # TJ Reports : Architecture Overview In terms of data structure, the TJ Reports framework is a Joomla MVC List view, with added features for saving queries, modifying columns and dynamic filters. Since reports are typically tabular data, reusing existing list view infrastructure was an obvious choice. So under the hood, it simply extends JModelList. The key difference is that instead of a single model, the framework allows plugins to extend the base reports model and provide a query or list for the report. ## Plugin Architecture -TJ Reports allows a plugin driven approach to creating "pluggable models" that can be rendered as a report. +TJ Reports allows a plugin driven approach to creating "pluggable models" that can be rendered as a report. Each plugin is essentially a model class that can have Joomla's `getListQuery()` or `getItems()` method to either return a query object, or directly the array of items to display. So TJReports does not use plugins in their classic event/dispatcher pattern. Instead, TJ Reports uses plugins to simplify installation and set any defaults via parameters. To implement filters, sorting and dynamic columns there are additional methods that allow setting column names, toggle sortable and filter columns and choose which columns may be hidden by the user. @@ -23,6 +24,6 @@ Once a plugin is installed, an instance of the plugin needs to be created for th Additionally, ACL can be applied to each instance so it becomes possible to create multiple lists from the same plugin, but with different filters that can be set such that users cannot change the filters. ## Component Architecture -As mentioned above, the component loads a single plugin instance using it's configuration. The component also applies the ACL based on the instance configuration. +As mentioned above, the component loads a single plugin instance using it's configuration. The component also applies the ACL based on the instance configuration. -The component allows users to create saved queries. Saved queries are stored similar to an instance, but they inherit the ACL and configuration superset of the instance they are created from. \ No newline at end of file +The component allows users to create saved queries. Saved queries are stored similar to an instance, but they inherit the ACL and configuration superset of the instance they are created from. diff --git a/_posts/2017-09-15-tjreports-integration-guide.md b/_posts/2017-09-15-tjreports-integration-guide.md index 0fb5952..fd8ae56 100644 --- a/_posts/2017-09-15-tjreports-integration-guide.md +++ b/_posts/2017-09-15-tjreports-integration-guide.md @@ -7,6 +7,7 @@ tags: - Joomla - tjreports type: Document +showSidebar: "true" --- # TJ Reports Integration Guide @@ -43,19 +44,19 @@ b) ```title``` - This is the title of your plugin visible to users. ## Linking to TJ reports Just like other infrastructure extensions, you can pass the client context to show reports related to your extension. For instance Shika uses `index.php?option=com_tjreports&client=tjlms` for reports contextual to Shika LMS. The client is be specified when creating instances. -When user passes client parameter in the url at backend, framework also fetches the menus added in the `addSubmenu` of the component you passed in the client parameter. +When user passes client parameter in the url at backend, framework also fetches the menus added in the `addSubmenu` of the component you passed in the client parameter. -Below is the default URL for your extension +Below is the default URL for your extension `index.php?option=com_tjreports&client=com_example&task=reports.defaultReport` -This will bring you to the first plugin of that client type. +This will bring you to the first plugin of that client type. ## Plugin configuration options - -One can limit number of columns to show in the Report using plugin configuration. When you edit a plugin in tjreport you can load default params using ```Load Default Params``` . This data depends on the details you have mentioned in your plugin __constract. +One can limit number of columns to show in the Report using plugin configuration. When you edit a plugin in tjreport you can load default params using ```Load Default Params``` . This data depends on the details you have mentioned in your plugin __constract. -Below is the example JSON Data - +Below is the example JSON Data - ``` { @@ -63,27 +64,27 @@ Below is the example JSON Data - "filter_order_Dir":"ASC", "limit":"20", "showHideColumns":[ - "attempt", - "name", - "username", - "usergroup", - "time_spent", - "lesson_status", - "score", - "last_accessed_on" - ], + "attempt", + "name", + "username", + "usergroup", + "time_spent", + "lesson_status", + "score", + "last_accessed_on" + ], "colToshow":{ "attempt": true, - "name":true, - "username":true, - "usergroup":false, - "time_spent":true, - "lesson_status":true, - "score":true, - "last_accessed_on":true - } -} -``` + "name":true, + "username":true, + "usergroup":false, + "time_spent":true, + "lesson_status":true, + "score":true, + "last_accessed_on":true + } +} +``` filter_order - Default filter column, can be any key of your $this->columns array @@ -91,9 +92,9 @@ filter_order_Dir - Default filter direction, can we ASC or DESC limit - Default limit of the results -showHideColumns - Which columns to show in show/hide dropdown. It must be a subset of colToshow(next option) +showHideColumns - Which columns to show in show/hide dropdown. It must be a subset of colToshow(next option) -colToshow - By default what columns to display. Key of this data are column names(keys of $this->columns array) and value can be true or false which decides whether it will be displayed by default or not. +colToshow - By default what columns to display. Key of this data are column names(keys of $this->columns array) and value can be true or false which decides whether it will be displayed by default or not. diff --git a/_posts/2017-09-15-tjreports-writing-a-plugin.md b/_posts/2017-09-15-tjreports-writing-a-plugin.md index 8d19033..653bb39 100644 --- a/_posts/2017-09-15-tjreports-writing-a-plugin.md +++ b/_posts/2017-09-15-tjreports-writing-a-plugin.md @@ -7,6 +7,7 @@ tags: - Joomla - tjreports type: Document +showSidebar: "true" --- # Example Report Plugin diff --git a/_posts/2017-09-16-hierarchy-manager-overview.md b/_posts/2017-09-16-hierarchy-manager-overview.md index 1b12a77..3589875 100644 --- a/_posts/2017-09-16-hierarchy-manager-overview.md +++ b/_posts/2017-09-16-hierarchy-manager-overview.md @@ -9,7 +9,8 @@ tags: - Hierarchy type: Document navigation_weight: 1 +showSidebar: "true" --- -# Hierarchy Management +# Hierarchy Management Hierarchy Management is an horizontal (Infrastructure) extension by Techjoomla that allows setting up general or context specific hierarchical relations between users. This can be used by other extensions to allow special access control, generate reports and so on. diff --git a/_posts/2017-09-16-tc-manager-overview.md b/_posts/2017-09-16-tc-manager-overview.md index 869dc48..e39f82f 100644 --- a/_posts/2017-09-16-tc-manager-overview.md +++ b/_posts/2017-09-16-tc-manager-overview.md @@ -8,10 +8,11 @@ tags: - Terms & Conditions Manager type: Document navigation_weight: 1 +showSidebar: "true" --- # Terms & Conditions Manager -Terms & Conditions Manager is used to force users to accept the T&C before they can start using the site, or a part of the site. +Terms & Conditions Manager is used to force users to accept the T&C before they can start using the site, or a part of the site. It is also possible to define multiple T&C that block different contexts. For example, you may want users to accept terms before they start writing blogs on your site. On the same site, you may want users to accept different terms before they can participate in the community. The T&C Manager allows you to do this. diff --git a/_posts/2018-01-30-com-tjucm-database.md b/_posts/2018-01-30-com-tjucm-database.md new file mode 100644 index 0000000..89696cf --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-database.md @@ -0,0 +1,140 @@ +--- +date: 2018-01-30 +title: Databse Structure For TJ UCM & TJ Fields +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +--- + +# Database Tables + +#### UCM Type Table (#__tj_ucm_types) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| asset_id | int(11) | id from #__tj_assets table | +| ordering | int(11) | Display order | +| title | varchar(255) | UCM type | +| alias | varchar(255) | UCM type alias | +| state | tinyint(1) | Published/Unpublished | +| type_description | text | | +| unique_identifier | varchar(255) | combination of component name + ucm type alias name e.g.com_tjucm.application-form | +| parent_id | int(11) | in case if this ucm type contains another ucm type i.e. subform id (contained UCM type id as parent_id ) | +| params | varchar(255) | {"allowed_count":"100","allow_draft_save":"1"} | +| checked_out | int(11) | | +| checked_out_time | datetime | | +| created_by | int(11) | Created By user id | +| created_date | datetime | Created date | +| modified_by | int(11) | Modified By user id | +| modified_date | datetime | Modified date | + +*** + +#### UCM Data Table (#__tj_ucm_data) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| asset_id | int(11) | id from #__tj_assets table | +| ordering | int(11) | Display order | +| state | tinyint(1) | Published/Unpublished | +| category_id | int(11) | | +| type_id | int(11) | | +| client | varchar(255) | | +| checked_out | int(11) | | +| checked_out_time | datetime | | +| created_by | int(11) | Created By user id | +| draft | tinyint(1) | | +| created_date | datetime | Created date | +| modified_by | int(11) | Modified By user id | +| modified_date | datetime | Modified date | + +*** + +#### TJ Fields Table (#__tjfields_fields) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| core | int(11) | | +| label | varchar(255) | | +| name | varchar(255) | | +| type | varchar(255) | | +| state | tinyint(1) | Published/Unpublished | +| required | varchar(255) | | +| readonly | int(11) | | +| created_by | int(11) | Created By user id | +| description | varchar(255) | | +| js_function | text | | +| validation_class | text | | +| ordering | int(11) | Display order | +| filterable | tinyint(1) | 0 - For not filterable field. 1 for filterable field| +| client | varchar(255) | | +| group_id | int(11) | | +| shownlist | int(11) | | +| params | varchar(255) | | + +*** + +#### TJ Fields Value Table (#__tjfields_fields_value) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| field_id | int(11) | Field table ID | +| content_id | int(11) | | +| value | text | | +| option_id | int(11) | | +| user_id | int(11) | | +| email_id | varchar(255) | | +| client | varchar(255) | client(eg com_jticketing.event) | + +*** + +#### TJ Fields Group Table (#__tjfields_groups) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| ordering | int(11) | Display order | +| state | tinyint(1) | Published/Unpublished | +| created_by | text | Created By user id | +| name | varchar(255) | | +| client | varchar(255) | | + +*** + +#### TJ Fields Options Table (#__tjfields_options) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| field_id | int(11) | | +| options | varchar(255) | | +| default_option | varchar(255) | | +| value | varchar(255) | | + +*** + +#### TJ Fields Client Type Table (#__tjfields_client_type) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| client | varchar | | +| client_type | varchar(255) | | + +*** + +#### TJ Fields Category Mapping Table (#__tjfields_category_mapping) + +| Name | Type | Comments | +| ----------------- |----------------| -------------------------------- | +| id | int(11) | | +| field_id | int(11) | | +| category_id | int(11) | | diff --git a/_posts/2018-01-30-com-tjucm-developer-documentation.md b/_posts/2018-01-30-com-tjucm-developer-documentation.md new file mode 100644 index 0000000..40b1160 --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-developer-documentation.md @@ -0,0 +1,22 @@ +--- +date: 2018-01-30 +title: Developer Documentation +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +showSidebar: "true" +--- + +### Developer Help +* [UCM Type Parameteres](../com-tjucm-paramters/) +* Steps for adding new field type +* [Package installation steps](../com-tjucm-installation/) + + +### Database Structure + +* [Database Structure For TJ UCM & TJ Fields](../com-tjucm-database/) diff --git a/_posts/2018-01-30-com-tjucm-features.md b/_posts/2018-01-30-com-tjucm-features.md new file mode 100644 index 0000000..c2cf80a --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-features.md @@ -0,0 +1,51 @@ +--- +date: 2018-01-30 +title: Features +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +showSidebar: "true" +--- + +# Features + +As its name, it provides the content management features like Fields, Field Groups, UCM Types, Categories, Views & Layout. + +### Field Management : + +Field describe individual form field. We can use these fields for form creation. TJ Fields supports to create new field with basic HTML attribute as name, type(supported list given below), group name, field required or not, read only etc. + +Also, there is a facility provided by TJ fields about field permissions regarding who(Administrator/Registered User/Manager etc.) can delete/edit this field or who can add/edit field value etc. + +TJ Field supports below field types : + +Text, Radio, Checkbox, Single Select, Multi Select, SQL, Textarea, Calendar, Editor, Email, Select User, File, Spacer, Subform, Number + +### Field groups : + +Field groups are the highest level concept, they enable us to group fields into groups. + +TJ Fields binds each field under particular Field Group. + +### UCM Types : + +UCM types are nothing but actual form which will display to user. There can be any UCM types like Application form, Team Details form, Educational Form etc.Each type have an option as Category, Field Groups, Fields, Create Item, Items + +### Categories : + +For now, I don’t know about how categories plays the role in TJ UCM & how it works on user panel as well as admin panel. + +### Views & Layouts : + +Currently, TJ UCM provides below menu types to display UCM type + +* Item form : Show a form to add/edit a item +* Items : Show a list of items +* Single Item : Show a specific item + +In future, UCM type would have the views and layouts like articles e.g. blog layout, pin layout etc. + diff --git a/_posts/2018-01-30-com-tjucm-installation.md b/_posts/2018-01-30-com-tjucm-installation.md new file mode 100644 index 0000000..54a3166 --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-installation.md @@ -0,0 +1,37 @@ +--- +date: 2018-01-30 +title: Package Installation +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +--- + +# Steps to install whole package : + +1. First of all, you needs to install both components(zip package) TJ UCM & TJ Fields in your site “Extension >> Manage >> Install >> Upload Package File”. + +2. After that, you needs to install TJ Strapper library in your application as it makes the buttons “Save”, “Save & Close”, “Save & New” & “Cancel” actionable at the time of adding / updating fields under particular “Type” + +3. After successful installation, you can see TJ UCM component under “Components >> TJ- UCM”. + +4. By Clicking TJ-UCM, you will redirect to respective component page where you will see the 2 submenu at left sidebar as Types & Items. By default, this component will show the list of all types added in the database. + +5. If, you want to create new type then you needs to click on “New” menu & you will redirect to new page where you will see the form having fields title, alias, unique identifier(which is automatically created with combination of your component_name.type_alias), Allowed count(how many times user can add item for this UCM type), Allowed Draft Save(have a feature about to save form info for this type as a draft). + +6. After successful addition of new type, it will listed out under types section. List contains the columns “Status”, “Id”, “Title”, “Alias” & “Manage” + + Manage column have an option as “Category”, “Fields Group”, “Fields”, “Create Item” & “Items” + + * You can create/edit/Publish/Unpublish/Trash/Archive Category + + * You can create/edit/Publish/Unpublish/Trash Field Groups + + * You can create/edit/Publish/Unpublish/Trash/Archive Fields + +7. TJ UCM has filter option in the admin panel which contains the filter criteria as “Published / Unpublished / Archived / Trashed / All” + + diff --git a/_posts/2018-01-30-com-tjucm-introduction.md b/_posts/2018-01-30-com-tjucm-introduction.md new file mode 100644 index 0000000..5a3867b --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-introduction.md @@ -0,0 +1,20 @@ +--- +date: 2018-01-30 +title: Introduction +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +showSidebar: "true" +--- + +# About TJ UCM + +UCM stands for Universal Content Manager. It is a most useful & flexible joomla extension. + +To create a manual form without UCM, we need to start from scratch which can be cumbersome, needs more time. TJUCM provides easier solution for creating forms & field control with less or no code required & it also allow saving drafts in steps. + +It uses TJFields for field management. diff --git a/_posts/2018-01-30-com-tjucm-paramters.md b/_posts/2018-01-30-com-tjucm-paramters.md new file mode 100644 index 0000000..f70dab3 --- /dev/null +++ b/_posts/2018-01-30-com-tjucm-paramters.md @@ -0,0 +1,26 @@ +--- +date: 2018-01-30 +title: UCM Type Paramters +categories: + - TJ UCM +tags: + - Joomla + - TJUCM + - TJFields +type: Document +--- + +# UCM Type Parameters + +At the time of adding new UCM type, there are multiple parameters such as, + +* Title (Required): It is UCM type. E.g. Application form +* Alias : Which will create automatically or you can create it manually. +* Unique Identifier : combination of component name + ucm type alias name e.g.com_tjucm.application-form +* Status : Published / Unpublished +* Allowed Count : How many times user can add Item for his UCM type. +* Allowed draft Save : Yes / No. If you select Yes then “Save As Draft” button will display on form +* Description : Short description about UCM type. + +Note : Admin can set the permission as who(Manager, Registered User etc) can Create, Edit, Delete, Edit State etc. + diff --git a/_sass/table.scss b/_sass/table.scss new file mode 100644 index 0000000..b616459 --- /dev/null +++ b/_sass/table.scss @@ -0,0 +1,9 @@ +table{ + border-collapse: collapse; +} +table th, +table td{ + border: 1px solid #999; + padding:5px; + text-align:left; +} diff --git a/css/screen.scss b/css/screen.scss index bec93db..af552f4 100644 --- a/css/screen.scss +++ b/css/screen.scss @@ -12,3 +12,4 @@ @import "faq"; @import "modal"; @import "form"; +@import "table"; diff --git a/index.html b/index.html index 2dbc281..3491827 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,9 @@