• Get the Flash Player to see the slideshow.
  • Categories

  • Authors

  • Great Quotes

    Ruby inherited the Perl philosophy of having more than one way to do the same thing. I inherited that philosophy from Larry Wall, who is my hero actually. I want to make Ruby users free. I want to give them the freedom to choose. — Yukihiro Matsumoto - inventor of Ruby

Get in touch...

To have a chat about
your CMS needs...

Call us 0207 193 2014
or
Email us on

Author Archive

Configuring the default TinyMCE toolbar

Monday, March 2nd, 2009

TinyMCE out of the box includes 3 toolbars which consist of various plugin options.
This can be very helpful in general use.  However, when conforming to a certain style according to a web site, the multiple options available can potentially be obstructive.

The default toolbars in TinyMCE can be configured to consist of only options you want an end user to see and use.

Solution:

Browse to the folder iw-home/httpd/iw/tinymce/config
(iw-home = Location of where TeamSite installed)

Open the file custom_config.js in a text editor. Edit the following lines, with the choice of;
- Removing options,
- Rearranging the options to various locations of the toolbar,
- Add further options

IWTinyMCECustomConfig(”custom1″, “toolbarRow”,
“whitespace,styleselect,fontselect,fontsizeselect,forecolor,\
|,bold,italic,underline”);
IWTinyMCECustomConfig(”custom1″, “toolbarRow”,
“bullist,numlist,|,outdent,indent,|,justifyleft,justifycenter,justifyright,\
justifyfull,|,undo,redo,|,link,unlink”);
IWTinyMCECustomConfig(”custom1″, “toolbarRow”,
“hr,removeformat,visualaid,|,charmap,inserttime,insertdate,image”);

There are various extra options you can add (These options are known as plug-ins). Extra supported plugin options are covered in the article – Plugin options available for TinyMCE

Once you have edited the toolbar to your requirements, the end user will visualise the customised toolbar in their DCT’s

Plugin options available for TinyMCE

Monday, March 2nd, 2009

There are various extra options you can add (These options are known as plug-ins). Extra supported plugin options include;



Plugin Option



Plugin Description


anchor


anchor


bold


bold text


bullist


bullet list


charmap


character map


code


source code editor


copy


copy


cut


cut


fontselect


font selector


fontsizeselect


font size selector


forecolor


color selector


formatselect


format selector


help


help button


hr


horizontal rule


iespell


iespell spell checker


image


insert image


indent


indent


insertdate


insert the current date


inserttime


insert the current time


italic


italic


justifycenter


justify center


justifyfull


justify full


justifyleft


justify left


justifyright


justify right


link


insert/edit link


numlist


numbered list


outdent


decrease indentation


paste


paste


pastetext


paste text format (stripping off formatting)


pasteword


paste word document contents


removeformat


remove formatting


redo


redo


search


search/find text


selectall


select all content


styleselect


style selector


sub


subscript


sup


superscript


table


insert/edit table


underline


underline


undo


undo


unlink


remove hyperlink


visualaid


visual aid to show outline for borderless tables


whitespace


whitespace between buttons

To add any one of these plugin options, please refer to the blog article – Configuring the default TinyMCE toolbar

Creating a custom toolbar in TinyMCE

Friday, February 27th, 2009

TinyMCE out of the box includes 3 toolbars which consist of various plug-in options.
This can be very helpful in general use.  However, when conforming to a certain style according to a web site, the multiple options available can potentially be obstructive.

TinyMCE can be configured to create a new toolbar which can consist of only options you want an end user to see and use.  The custom toolbar created can be applied to specified Data Capture Template (DCT); personolising your DCT according to Web Site needs.

Solution:

Browse to the folder iw-home/httpd/iw/tinymce/config
(iw-home = Location of where TeamSite installed)

Open the file custom_config.js in a text editor.  Add the following lines

IWTinyMCECustomConfig(”my_custom_toolbar”, “toolbarRow”,
“bold,forecolor,|,pastetext,pasteword,|,bullist,numlist,|,undo,redo,|
,anchor,link,unlink|,table”);

In this solution I am creating a toolbar named my_custom_toolbar
I have created a toolbar which gives the end user the options;

- Bold Font, Change the Font Colour
- Paste Text without formatting, Paste text with formatting
- Bullet List, Number List
- Undo, Redo
- Inset/Edit Anchor, Insert/Edit Link, Insert a new Table

To configure this to a selected DCT field, you need to ensure the field in the datacapture.cfg comprises the following code;

<textarea required=”t” external-editor=”tinymce” external-editor-config=”my_custom_toolbar” cols=”75″ rows=”5″></textarea>

In the code above, it is saying the field must be filled in by the end user (this is optional), who will only see the my_custom_toolbar (created earlier in this blog) in the DCT for this particular field.

The screenshot below shows the custom toolbar created for the DCT

Custom Toolbar created for DCT

How to remove formatting when pasting into TinyMCE

Thursday, February 26th, 2009

TinyMCE is fairly new to TeamSite, and there have been multiple issues, which  have been experienced.  One of the issues includes, when pasting from a word document into a TeamSite Data Capture Template (DCT) field which comprises TinyMCE; formatting of the selected text pasted comes in the DCT field without removing the formatting.

This can be a major issue on projects where a website conforms to a certain style.

Solution:

Browse to the folder iw-home/httpd/iw/tinymce/config
(iw-home = Location of where TeamSite installed)

Open the file custom_config.js in a text editor.  Now there are 2 options which you can consider;

1. Add options which will remove formatting to the existing default toolbars
2. Create a custom toolbar with the option of remove formatting

Option 1:
If you want to add to the options to the current toolbars, you would add pastetext,pasteword to the selected toolbar row

pastetext  - will paste the selected content as text
pasteword - will paste the selected content with formatting, but in line with the style set out for the template

For information on how to modify the default TinyMCE toolbar, please refer to the blog – Configuring the default TinyMCE toolbar

Option 2:
You would create a custom toolbar along with adding pastetext,pasteword to the new toolbar.

For information on how to create a custom toolbar, please refer to the blog – Creating a custom toolbar in TinyMCE

Plugin Options:
Once you have applied one of the options you can also consider looking at modifying the plugin options with;

[paste_create_paragraphs]
If enabled double linefeeds are converted to paragraph elements when using the plain text dialog. This is enabled by default.
[paste_create_linebreaks]
If enabled single linefeeds are converted to hard line break elements when using the plain text dialog. This is enabled by default.
[paste_force_cleanup_wordpaste]
If disabled then normal cleanup will not be performed after wordpaste. This option is enabled by default.
[paste_use_dialog]
MSIE specific option, if you set this to true both Mozilla and MSIE will present a paste dialog. If you set it to false pasting in MSIE will be done directly. This option is set to true by default.
[paste_auto_cleanup_on_paste]
MSIE specific option. If you enable this feature, a word paste will be executed when the user copy/paste content to the editor. This feature is disabled by default.
[paste_convert_middot_lists]
If this feature is enabled middot lists are converted into UL lists, these will be assigned a special class.
[paste_unindented_list_class]
This option enables you to specify what class to assign to the UL list of middot converted lists. Middot lists are unindented in MS Office. This option defaults to “unIndentedList”.
[paste_convert_headers_to_strong]
This feature converts H1-6 elements to strong elements on paste, this is feature is disabled by default.
[paste_remove_spans]
This enables you to control if the word parse operation should remove or keep span elements, they will be removed by default.
[paste_remove_styles]
This enables you to control if the word parse operation should remove or keep style attributes, they will be removed by default.

To customise these options you would add in code (file mentioned above) as the example shown below;

IWTinyMCECustomConfig(”my_custom_toolbar”, “paste_create_paragraphs”, false);

You should now be able to paste into a TeamSite DCT field which comprises TinyMCE with the option of formatted text or unformatted text

Referencing Hello World Java Class in LiveSite External Component

Tuesday, January 20th, 2009

Now that we have Hello.Java created as a class.  Please refer to the blog
Creating a “Hello World” LiveSite Java External

I will demonstrate below how the class would be utilised in a LiveSite component.

- Create a component (name the component what ever you would like it to be)
- Select the component as XML/XSL format
- In Content XML, add the the following code;  

<Data>

  <External>

    <Object Scope=”local”>com.littleforest.examples.Hello</Object>

    <Method>Hello</Method>

  </External>

</Data>

 - In Appearance XSL, add the following code;

<div>

  <xsl:value-of select=”/Properties/Data/Results/Hello”/>

</div>

- Save the component, and Preview the Component
- You will see the Hello.Java class discussed in the blog
Creating a “Hello World” LiveSite Java External in your LiveSite component.

Compiling Java Classes in LiveSite 3.0.2

Tuesday, January 20th, 2009

Java classes created in TeamSite & LiveSite reference many other Java files.  These files are located in a different directory of TeamSite, so are referred to as external files to the location where Java classes.

The problem with compiling a Java class comes when the Java file to be compiled looks for these reference files, but can’t find them as they are located externally to where a Java compile takes place.  This is not documented.

Solution:

1. Make sure the Java file you create is in the location;
iw-home/local/config/lib/content_center/livesite_customer_src/src

Files created should be placed into these location corresponding to the file type

iw-home/local/config/lib/content_center/livesite_customer_src/etc/conf for config files
iw-home/local/config/lib/content_center/livesite_customer_src/etc/web for jsp files

2. you need to copy the external jar files which you may require for your own Java file located in;
iw-home/httpd/webapps/content_center/WEB-INF/lib
to
iw-home/local/config/lib/content_center/livesite_customer_src/lib

There are many Jar files which have many java classes which might be referenced in your own Java file.  Typical Jar files which are recommended to copy to the location above are;
- dom4j-1.6.1.jar
- livesite.jar
- livesite_customer.jar
- livesite-runtime.jar

3. Once  you have copied these files over, in command line, navigate to
iw-home/local/config/lib/content_center/livesite_customer_src

4. Run the command iw-home/bin/make_toolkit.ipl

This should now build your Java file successfully to the Java class you require for your LiveSite external component

TeamSite – Insufficient space

Wednesday, January 14th, 2009

TeamSite Version: 6.7.1
Operating System: Windows Server 2003

I recently experienced a major issue with the TeamSite server, where by it was not displaying the TeamSite url on the browser.  I was getting a Apache error.

I scrolled through the TeamSite logs to find an error which was causing TeamSite not load correctly.  This can be seen below;

ERROR com.interwoven.livesite.iw.impl.CSBackingStoreService (com.interwoven.livesite.iw.impl.CSBackingStoreService:254) – Error while creating/updating branch: /iwadmin/main/livesite
com.interwoven.cssdk.common.CSException: (Insufficient space to complete operation)

This was found in iw-home/local/logs/ccsdk.log

Solution:

As you can see in the error there is insufficient space detected on the TeamSite Server.  To overcome this problem there are 2 options you have to get TeamSite back up and running

Option 1 – Add more memory to the server, and re-size the partition where TeamSite is installed.  This can be done with a partitioning tool software.  There are quite a few commercialware applications that can achieve the re-size of a partition.

Option 2 – Get a freeware application tool such as ccleaner to remove all unnecessary files on the server.  Also identify applications which are unnecessary and uninstall.  Once this is complete you will have save some space.  In conjunction with this you should also edit the file iw-home/etc/iw.cfg

and change the following line from;

disklowpercent=10

to

disklowpercent=5

Now on the command line do a iwreset – a to restart TeamSite.  TeamSite should now come back up and running and above the 5% threshold of disk space left rahter then the default 10%.  This should buy some time and allow your TeamSite server to run again.

Reinstall Webapps

Tuesday, January 13th, 2009

TeamSite Version: 6.7.1
Operating System: Windows Server 2003

I was recently having a problem where when I ran a make_toolkit.ipl in the customer_src directory in TeamSite my web page url of TeamSite would not appear.  I notice I had some directories missing

Solution:

To overcome I had to reinstall webapps.

On Command Line,

cd iw-home/install
install_webapps -l -f

- Once this is finished, run a iwreset -a

This reinstall TeamSite Webapps, and it thereafter my TeamSite url appeared on the browser

Set Extended Attribute for LiveSite Components

Monday, December 22nd, 2008

When copying over components from one environment to another, you loose the extended attribute which recognises the component as a Interwoven LiveSite component.  Below is how you would set the extended attribute, so that LiveSite recognises the component.

On command line or in a script you would need to execute the following;

iw-home/bin/iwextattr -s TeamSite/LiveSite/Type=component “hostname/iwadmin/main/livesite/component/WORKAREA/shared/component1

or

cd iw-home/bin/
iwextattr -s TeamSite/LiveSite/Type=component “hostname/iwadmin/main/livesite/component/WORKAREA/shared/component1

Note:

- For Solaris or Linux, if you get to iw-home/bin,  you would place ./ in front of iwextattr
- iw-home = TeamSite Install Directory
- hostname = Server/Host name
- /iwadmin/main/livesite/component/WORKAREA/shared/component1 = Example of a component stored in the shared workarea under components branch

Propagating Workarea Group Permissions to Nested Folders & Files on Unix/Linux

Thursday, December 11th, 2008

A problem with TeamSite 6.7.1 on Solaris or Linux servers are when creating a new workarea, group permissions fail to propagate down; meaning permissions don;t filter down.

Any additional folders or files created or imported with the “File Import” menu action will take on the logged-on user’’s primary group; not the workarea group.

Solution:

To overcome this potential problem, configure the workarea permissions such that the group you specified is automatically propagated down to newly created folders and files; therfore inheriting the workarea group permissions only. This approach works applies to both ordinary Unix groups and TeamSite groups.

After creating a new workarea, enable the “set-group-ID” permission on the workarea by running the following command on cmd (execute the command as the user root);

chmod g+s

e.g.

chmod g+s /default/main/branch1/WORKAREA/test_workarea

Once the command execute, you can verify the command has been successfully executed by running the command;

ls -ld

e.g.

ls -ld /default/main/branch1/WORKAREA/test_workarea

You should find a “s” in the group permissions, such as:  drwxrwsr-x