I am looking for a Joomla v1.6 Extension Plug-In That will add features described below to our site. The exact semantics of the project will be provided after awarding but details below summarize the functionality of the plug-in.
It will be an easily installable Joomla 1.6 plug-in where:
1. Registered users can create dynamic URLs, to specific articles www.example.com/article_alias/tracking_string. Tracking string is either random or customizable e.g.
www.example.com/article_alias/random_tracking_string or www.example.com/article_alias/custom_tracking_string where only the tracking string (part after the last slash) is user editable with specific set of characters (e.g. a-z 0-9 – _). Prohibited terms on admin side cannot be used.
The string will be checked in the database for uniqueness with onkeyup after 2 second pause via Ajax or a button if JS is disabled. This feature is available to specific articles and/or categories set on the admin side.
2. Purpose of the tracking string is to redirect a visitor to an external URL server side. If the tracking string is not present in the URL (e.g. if the URL is just http://www.example.com/article_alias/), the article is displayed (no forwarding), but a visitor has option to enter tracking string in a text box provided. Upon submitting, this tracking string input is taken, logged in the database for reporting and server side redirects the page to corresponding external URL.
3. The destination URL is a specific link “assembled” at the user account level or set at admin level.
E.g. when user is creating a URL in step (1) user is able to also specify the destination link to a redirecting URL. Here is a draft HTML representation of how this assembly will work:
www.example.com/article_alias/tracking_string
is linked by user to:
<select>
<option>Select Site</option>
<option selected>Site1.com</option>
<option selected>Site2.com</option>
</select>
<input type=”text” name=”textfield” id=”textfield” value=”referral string” />
This relation of tracking string to external URL and its referral string is stored in database, so when a visitor is visiting: www.example.com/article_alias/tracking_string the server will redirect user to e.g. Site1.com site with the user’s tracking code translated to the referral code.
The referral link is set on the admin site on a global level (e.g. for Site1.com), or with an override at an article level.
If the tracking code is not provided by a visitor either through URL or by typing (see step 2), or if the tracking code is not in the database, then the referral code set at admin side (global for site or article level) is used to redirect the visitor. In addition, every N-th redirect is replaced by that admin referral code. the N variable is set at admin side either globally or at an article level.
4. Users will be able to view limited analytics of all their URL click-throughs on the reports page. These reports will be based on specific timeframes that we will provide.
5. Admin will be able to view full report on the back end, either by user, or other criteria (including timeframe)
6. Users will be able to access special page linked from each article where PDF files with their tracking code will be located. The PDFs will be designed by ourselves with a variable field. When the PDF link is clicked and opened, the tracking code is passed to it as a variable and it will populate (print) the variable field inside the PDF document.
7. Each article will have a link to “Reviews” section (e.g. www.example.com/article_alias/reviews/) where users can submit their articles for approval. At the time user submits a new article, they will be able to specify redirect link as described in step (3). These review pages will function similarly to the main article pages except that they will not have their own sub pages for reviews.
8. Visitors will be able to rate the articles but first they will be asked to register.
9. The extension will work seamlessly over standard or SSL encrypted connection.
10. the above is a relatively broad outline of this project and there might be minor changes or more specifics that will be revealed after the job is awarded.