Ulink screenshot

This project is not covered by Drupal’s security advisory policy.

Google Summer of Code 2007

A package of modules to restructure the link filtering thus implement the auto-completion of links through AJAX.

The project, when all the options are selected, will enable the user to complete the links dynamically, with the use of the background architecture it will be done in a structured way, thus further extensions and configurations for personal preferences will be made effortless.

The package contain the following modules currently
+ ulink.module - main skeleton module
- ulink_image.module - Image Extension : Provides image rendering support for intern links
- ulink_gallery.module - Image Gallery Extension : displays the images in a directory as an album

+ uauto.module - an addon to uLink
- uauto_dirsearch.module - Directory Search Extension : Enable search for local files even if there is no entry in the files table in database.

uLink.module

The uLink module provides universal filtering which allows user to input tags like [l|link_to_node|text_to_appear|attributes] and replace them with appropriate html code, user defined text or code, or third party rendered text or code to provide links, display images, fill with text or all.

This module defines the protocol and giving the framework to generate the outputs, which can be configured or extended through the settings page and by implementing the hooks. Hence, More than one module may be giving the rendering, in case, they can optionally be enabled, cascaded or optionally added .

Basically it provides a skeleton for universal filtering. What is rendered and how it is rendered are completely determined in the configuration. Extensibility is guaranteed by implementing the hooks, specifically for nodes..

• ulink_node() : to provide the implementations of node
• ulink_node_settings() : to provide the settings form for node rendering
• ulink_node_info() : to provide filtering tips to the user regarding the node rendering

Although uLink module is meant to be a skeleton module it gives a default implementation which is dynamic and powerful itself.

In the default implementation following modes of implementations are available.
• Default fixed – implementation.
• Implementation using tokens.
• Advance implementation using PHP code, where PHP variables of the link, text, type and other attributes will be made available in the code.

Refer to Readme.txt for the details on usage and configuration
Refer to Developer.txt for extending ulink and implementing hooks.

uAuto.module

The uAuto module does auto-completion of links by providing the user with possible links for the text selected or being typed. For example, when user enters '[l|use', he will be provided with the possible links that could be connected with the key 'use'. Alternatively, he could select the complete word by double clicking it or highlighting it, and he will be provided with the possible candidates (however only mouse based selections - double click or select highlight - are supported currently).

The uAuto module does auto-completion of links by providing the user with possible links for the text selected or being typed. For example, when user enters '[l|use', he will be provided with the possible links that could be connected with the key “use”. Alternatively, he could select the complete word by double clicking it or highlighting it, and he will be provided with the possible candidates (however only mouse based selections - double click or select highlight - are supported currenly).

The module uses the protocol defined by uLink module and generates
the link in the format:
[l|link]
or
[l|link|text]
or
[l|link|text|attribute]

The module provides an excellent, configurable and extensive search (can be optionally enabled) which can be extended (by implementing the hook under circumstances like connecting two peer sites or supporting external links).

uAuto_dirsearch module is written as a separate module to explainh ow search functionalities can be extended. It provides the search on local files which are not listed in the files table in the database.
Refer to Readme.txt for the details on usage and configuration

PS : many of the ideas in ulink.module came from Dan DeGeest and help and guide offered by him is highly appreciated.

Demos :
http://demo.theebgar.net/drupal5/ulink
Login and edit the page.

NOTE:
1. CVS issue preventing the commit of latest release, however you can download it from
http://gworks.theebgar.net/wp-content/uploads/2009/07/ulink-5.x-2.0.zip
3. Port to Drupal 6 is released under different name: ulink6 available at http://drupal.org/project/ulink6

Project information

Releases