0

I have database where all documents were created by Lotus Notes client. Documents contain Rich text field with tabbed tables with text and attachments on every tab.

Now I want to show documents with XPages. But tabbed tables are not visible in XPages.

How can I display Rich text field with tabbed table in XPages?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Mario
  • 23
  • 6
  • It is a good question. So add more details and follow basic rules http://stackoverflow.com/help/how-to-ask to prevent downvotes and/or close. – Frantisek Kossuth Mar 23 '15 at 13:14
  • I have database, all documents created in client LN. In documents there are tabbed tables with text and attachments on every tab. Tabbed tables created in Rich Text. Now I want to convert LN documents in web with XPages. But have one problem. I can't display tabbed tables in XPages. Please, help – Mario Mar 23 '15 at 13:34
  • added your comment to question (and do so with future updates). – Frantisek Kossuth Mar 23 '15 at 13:47
  • btw: possible duplicate http://stackoverflow.com/questions/28031748/xpages-convert-content-from-existing-notes-documents-sections-and-tabbed-table – Frantisek Kossuth Mar 23 '15 at 14:00
  • Thank you very much! I pointing to the document, like this /server/db.nsf/0/6facf027e4bf1c3bc1257dd30042d108?openDocument. But nothing. – Mario Mar 23 '15 at 14:07
  • Please, update your question: what you try, with what result and so on... "But nothing" is too general to give any advice. – Frantisek Kossuth Mar 23 '15 at 14:38
  • I pointing to the document, like this /server/db.nsf/0/6facf027e4bf1c3bc1257dd30042d108?openDocument. But tabbed table displayed as always: first row is a header of tab, second row displays attachments and text, third row again header but another tab and so on – Mario Mar 23 '15 at 14:45

1 Answers1

1

The answer isn't as straight forwarded as you would like and involved some wizardry. There are several moving parts. The first is the quality of the RTF-HTML conversion. I superstrongly suggest you give Ben a call. In case he doesn't handle tabbed tables (which are a beast), these are the steps to get a solution (I hope the force Javascript is strong with you):

  • Familiarize yourself with the Table handling and rendering. To do so, open the RichText field on its own in the browser. The trick is the ?OpenField command as documented by Carl.

  • In that HTML you can click on the various tabs to show that content, look at the URL and the source to learn about the exact syntax (which AFAIK isn't documented - or the documentation is well hidden)

  • By now you should have an idea how to identify a tabbed table by its HTML markup. Try to construct a Dojo selector or a JQuery (whatever is your poison).

  • Now show your page without the RichText field, but place a placeholder <div id="RTPlaceholder" /> where you want to show your content (or place a dijit panel there).

  • Use an Ajax call to ?OpenField to get the content. With your query expression you check for tabbed tables - if none there, just render the content

  • If you found a tabbed table, you construct a dijit tabbed table (or a UI framework of your choice equivalent) and make one call per tab to fill them. Some clever queries are needed (you don't want the surrounding table, but only tab-label and content).

That's the general direction. So Step 1: a little chat with Ben. As usual the devil is in the details, so you need to be brave.

Memento bene: RichText > HTML => false; HTML > RichText => false; HMTL != RichText => true;

Let us know how it goes!

stwissel
  • 20,110
  • 6
  • 54
  • 101
  • Thank you for your answer! I did 2 items. I read documented by Carl and open document like this /server/db.nsf/0/6facf027e4bf1c3bc1257dd30042d108/Body?OpenField&TableRow=1.2. That means 1-first table and 2-third tab. Now I should do another advices, but may be you help me a little – Mario Mar 24 '15 at 14:01