Đang Thực Hiện

456861 Joomla Component

Purpose

Create a Joomla component that allows the user to add cxportal pages one by one in a tree-like structure.

Implications

By default Joomla has a tree-like menu structure implemented.

But, in our case, the pages are related one to another directly (cannot display a job detail unleass you know the job id, which is taken from listing) so the default functionality is not enought.

In order to have the user set pages indvidually, in the administration module, we will have to restrict the choices he can made:

where the page can exists - for example:

- job details can only be a child of listing

- apply mode can only be a child of job details (if there is no open application)

- tell a friend can only be a child of job details

- and so on.

some of the pages cannot be activated, as they will appear in menus (for example, tell a friend page should never apper in menu as it is onlyaccesible from job details). Since a page that does not have status publish cannot appear in public even if the link to it is ok(the link is properly created in listing), an additional status should be implemented, which doesn't affect the way joomla works but only our pages.

Additionally, the default Joomla working of the public interface should be altered so that also the public part takes care of our modifications.

So, the component should:

- integrate cxportal and cxshared

- copy the joomla files that are required to be modified so that our custom menu implementation work

- have a backup of the modified files, to be reinstalled in case the component is uninstalled

Extensive testings should be made to make sure that Joomla core modification do not affect other components.

Recomandation

Our recomandation is not to let the user chose the tree structure of his own. We will restrict him anyway so in the end he will create a structure that fits the cxportal functioning.

Choosing the page the listing as the top page should be enough. If we want to allow the user to customize the pages we could do this from the parameters part of the component in any way we want. This is the recomanded - default Joomla way - components are supposed to work, since the parametrization will only apply to the component and not to the entire Joomla site.

Conclusions

Advantages of allowing the user to build his own structure:

give the user the flexibility to do (almost) what he wants;

additional customization of the page throught Jomla mechanisms.

Disadvantages

the user wont know from the begining how to set up the menu with all the submenus, we have to deliver detailed documentations about each steps and also provide suport in case of problems.

taking into account the huge number of components available for Joomla, altering its core can be hazardous as we cant test all the

components and modules available.

the user may break our design if we allow to much customization

having only one entry point of cxportal (listing) allows us to keep the customization needed to make the portal work with Joomla to a minimal.

Specifications for version 0.9

Goal

Create a Joomla componenet which will enable listing, job details and apply features from Cxportal to be used in a Joomla based website. In this beta version we do not support extra features related to the 3 pages mentioned above like Google maps, Apply mode etc.

For this to be accomplished the following are necessary

Cxportal changes

In order to keep cxportal customization minimal a Joomla extension will integrate the Cxportal templates, so that the smarty plugins will take care of handling the data.

Create new templates folder, containin files specifically optimized for Joomla. The folder is going to be named joomla_templates and will pe placed in Cxportal's structure like this

/cxportal

/default

/tempaltes

/styles

/resources

/joomla_tempaltes

[url removed, login to view]

...

/tempaltes

/styles

/resources

/joomla_tempaltes

[url removed, login to view]

In version 0.9 it will contain

[url removed, login to view]

[url removed, login to view]

[url removed, login to view]

The HTML files will not contain <html> <head> <body> elements as they are going to be included in the body of the Joomla site and thus we want to avoid duplicate HTML declaration.

A new CSS file needs to be created and included only in the Joomla templates. The new file is going to be named cxJoomla.css. The classes in this file will have to respect the standards used in Joomla themes in such a way that if the theme of the website is changed, the cxportal items loaded in the pages included by the component, will take the same coloring and style as the new theme. For this to be possible, the classes have to be applied on standard HTML element as much as possible.

Also the HTML pages content needs to be changed, to use the new stylesheet.

The CSS file will also be visible in the administration pannel of Joomla like all other styles in Template manager / Template /Edit/ Edit CSS.

Edit CSS opens a list of the CSS files used in this Template. To open one of the CSS files for editing, select the file and press

the Edit icon in the toolbar. This will open this CSS file for editing using a simple text editor. Press Save or Apply to save any

changes you make. Press Cancel to cancel any changes. You can also edit this file outside of Joomla! with any editor. Note that the

full name of this file is displayed above the edit window.

Known issues

Joomla uses by default Mootools javascript library, while Cxportal uses jQuery. This causes conflicts and some pages cannot work (ex: javascript validation in [url removed, login to view]). In order to solve this we have to use Jquery with noConflit mode

Change cxportal javascripts to use JQuery instead of $ for variable or function names. | See more

Joomla uses $config to store it's configuration settings and so does CxPortal. While a solution was found (declare the variable global and it is visible in Joomla as well as in CxPortal) and no problems were found so far, we have to identify if there are variables used by Joomla that have names identical to the one in CxPortal's [url removed, login to view]

CxShared changes

make cxshared copy also the new joomla folder from default folder

Carerix component for Joomla

Joomla is designed to load and run exactly one component for each page generated.

The carerix component will be named com_carerix.zip.

The public part of the component will handle:

error checking;

error displaying (if cxportal or cxshared are missing);

template displaying;

css integration with joomla templats;

navigation (job_details and apply);

buttons (back & apply).

Back-end administration

The administration part of the component will take care of:

installing script

error displaying(cxportal, cxshared, logs, logos, uploads exists or not);

looking for the component on Components -> Carerix;

new page creation: Menus -> Main Menu -> New -> Carerix -> (Name of the page) -> Save;

uninstalling (checking if the folders and files have been removed);

The Administration page of the Carerix component will contain the following fields

Field application name - default value will be publictest as read from the configuration file

Field password- default value will be carerix as read from the configuration file

Field items per page- default value will be 50 as read from the configuration file

Button Save

This setting are read from the [url removed, login to view] file of Cxportal . When button Save is clicked, the default values from the configuration file are overwritten with the new ones.

Seo Settings

In Joomla the standard url for Carerix component is: http://jomla-site/[url removed, login to view]

If you want to see a friendly link instead of the standard one, (like this, for example: http://joomla-site/[url removed, login to view]) , you must do the following steps :

"[url removed, login to view]" within joomla directory must be changed in ".htaccess".

Open Global Configuration by click Site -> Global Configuration.

Set SEO Settings (Search Engine Friendly URLs, Use Apache mod_rewrite, Add suffix to URLs) to "Yes".

Save your settings.

Seo alias pages

In this section we can modify the alias of our pages in order to retrieve it in the page URL. Only the jobDetails and apply aliases can be created here. For the listing page, the alias will be customized when the page is created (Menus -> Main Menu -> New -> Carerix -> Alias). If is not customized it will take the name of page title.

Releasing new Cxportal

For each new version of Cxportal that it is released a new Joomla component will also have to be created to support new features.

Do you want to create a new website based on Joomla and enable Cxportal features on it?

Do the following:

Download Joomla 1.5.X - See Joomla site

Install/configure Joomla. See Joomla documentation

Install the component

download the extension to your local machine as a zip file package;

from the backend of your Joomla site (administration) select Extensions -> Install/Uninstall;

click the Browse button and select the extension package on your local machine;

click the Upload File & Install button.

open administration pannel of the component and set the correct credentials for the Cxsystem used.

treat eventual errors reported in the administration pannel

create new menu item for the component

from the backend of your Joomla site (administration) select Menu -> Main Menu -> New;

search the component on Internal Link and click it;

choose a title for your page -> Save.

open website to view the pages

You have a website based on Joomla and you want to enable Cxportal features on it?

Do the following:

download the extension to your local machine as a zip file package;

from the backend of your Joomla site (administration) select Extensions -> Install/Uninstall;

click the Browse button and select the extension package on your local machine;

click the Upload File & Install button.

open administration pannel of the component and set the correct credentials for the Cxsystem used.

treat eventual errors reported in the administration pannel

create new menu item for the component

from the backend of your Joomla site (administration) select Menu -> Main Menu -> New;

search the component on Internal Link and click it;

choose a title for your page -> Save.

open website to view the pages

Kĩ năng: Bất kì công việc gì, Joomla

Xem nhiều hơn: where to make logos, where to make an icon, where to create logos, what is tree in data structure with example, what is tree in data structure, what is tree data structure, what is link list data structure, what is job id, what is data in data structure, what is a tree in data structure, what is a tree data structure, what is a data entry test like, what does a content editor do, what are the application of data structure, website id and password how to make, website css templates download, using text to create logos, using names to create logos, uses of tree data structure, uses of data structure

Về Bên Thuê:
( 96 nhận xét ) Arnhem, Netherlands

ID dự án: #2202753