Tags:
create new tag
, view all tags

Attachments as TML, available programmatically

If attachments could have an alternate rendering handler we might get a clean way of supporting FunkyNewActions on them. e.g. attached excel files could be pushed through CPAN:Spreadsheet::ParseExcel to produce a TXT, XML, HTML or TML rendering.

So this could allow someone to upload an excel file and for TWiki to get a TML representation of it.

This would be like a dynamic version of the BeforeAttachmentSaveHandler, dynamic in the sense that (1) the alternate representation is not stored and (2) extra renderers can retrospectively apply to attachments loaded in the past.

A process could suck a TML rendering from the attachment and push that TML representation through the TWiki::Data::DelimitedFile class. As well as allowing BulkRegistration to occur from a native excel tile this would facilitate conversion of spreadsheets of data into pages containing the data.

-- MartinCleaver - 13 Jul 2005

Good idea

-- CrawfordCurrie - 14 Jul 2005

Ok, what would the API look like? Is there an object on a particular attachment?

I'm thinking something like:

topic("web.topic")->attachment("tables.xls")->worksheet(1)->asTML()

-- MartinCleaver - 15 Jul 2005

Why can't you use the document MIME type, in the same way as the browser does? Register renderers for different MIME types? Have a mapping for standard document types based on extension? Allow that mapping to be overridden using a meta-data setting in %META:FILEATTACHMENT?

-- CrawfordCurrie - 15 Jul 2005

Hmm. I didn't think of that.

View::_suffixToMimeType seems to be the only MIME hook at the moment. Am I correct?

-- MartinCleaver - 15 Jul 2005

AFAIK yes

-- CrawfordCurrie - 15 Jul 2005

Ok, so we'd like plugins to register what pairs of conversions they are capable of providing. e.g. during plugin registration of ExcelToTmlPlugin:

registerConverter("application/x-excel", "TML", &ExcelToTmlPlugin::convertXexcel);
registerConverter("application/x-excel", "XML", &ExcelToTmlPlugin::convertXexcel);

ContentAccessSyntax could be extended for allow for attachment renderings too:

Web.Topic.Attachments{attachmentName}.AsHtml or similar.

The registration of handlers for rendering would be extremely simple and fairly quick to to implement. The MsOfficeAttachmentsAsHTMLPluginDev beta has a converters hash that illustrates the principle.

-- MartinCleaver - 18 Jul 2005

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2006-03-09 - CrawfordCurrie
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.