Posts Tagged ‘appforthat’

There’s a WCI App For That 9: OpenerFilter (aka Office 2010 MIME Types)

Thursday, November 3rd, 2011

By now you’re probably tired of the Knowledge Directory saga related to opening KD documents in WebCenter Interaction, but it’s a pretty serious problem. I’ve posted several solutions, but have come across a new problem with the original OpenerFilter configuration. Specifically, for some IE and Office configurations, Office 2007 and Office 2010 documents don’t open properly because the original configuration file used non-specific MIME types.

You can view the original post for the source code and a description of how this filter works, but recently I’ve discovered that the MIME types in the original post should be updated for recent Office documents (.docx and .xlsx). Instead of “application/msword”, the config file should use the MIME types provided by Microsoft. Specifically, the configuration file for OpenerFilter should look more like the following:

<?xml version="1.0"?>
<IntegrystOpener>
 <default>
  <removeContentDisposition value="0" />
  <replaceContentDispositionWithInline value="1" />
  <fixContentType value="1" />
 </default>
 <extension-map>

  <doc value="application/msword" />
  <dot value="application/msword" />
  <dotx value="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
  <docx value="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
  <xlt value="application/vnd.ms-excel" />
  <xls value="application/vnd.ms-excel" />
  <xlst value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
  <xlsx value="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />

  <pdf value="application/pdf" />
  <gif value="application/octet-stream" />
  <jpg value="application/octet-stream" />
  <png value="application/octet-stream" />

 </extension-map>
</IntegrystOpener>

There’s a WCI App For That 8: SMTP2Collab

Tuesday, June 7th, 2011

WebCenter Collaboration Server has a decent feature that allows end users to email documents directly to Collaboration Server by using a dedicated SMTP address for each folder:

Properly configured, attachments (but not message text) on any email coming in to that address are created as documents in the Collab Folder. But what if you want to capture the text of that email? And what if the user doesn’t have an account in Collab? Also, wouldn’t it be nice if inbound documents to the few folders you care about allowing (possibly anonymous) document submissions could have “vanity email addresses” like rrrgm8ty@mycompany.com for the pirates in your organization?

That’s exactly what SMTP2Collab does. Like Collab, it sets up an inbound SMTP server. Any mail delivered to it – whether the user has an account in the portal or not – gets created as a document in the specified folder, and a linked discussion is also created containing the text of the email. Oh, and you can create any vanity aliases you want for the folders:

Wanna see it in action? You know the drill.

There’s a WCI App For That 7: LockDown

Tuesday, February 15th, 2011

LockDown is an Integryst product that has been around for years and provides the best security management functionality available in the WebCenter Interaction space.

It is a full-featured security management add-on for Oracle’s WebCenter Interaction (WCI) / AquaLogic User Interaction (ALUI), providing an intuitive user interface for managing and reporting on the security of objects within the portal in a logical way. Featuring the ability to propagate security changes to child objects and folders and export comprehensive security reports, the latest update includes manipulation and reporting of Knowledge Directory, Publisher, and Collaboration Server security in addition to Plumtree Administrative Objects.

For more information, check out our product page, and contact us if you’d like a demo!

There’s a WCI App For That 6: User Auth Source Flipper

Monday, January 10th, 2011

I recently worked on a project with a client that was migrating from LDAP to Active Directory.  Because we didn’t want to lose all the group memberships of the existing users, or any of their history (such as Collaboration Server authors), we needed to come up with something a bit more… creative… than just creating a new Authentication Source and telling users to start using the new accounts.  Kenan Shifflet wrote a great post about migrating Plumtree Authentication Sources a while back, but I took a different approach because we were going from LDAP to AD, and the GUIDs and CRCs were all different.  In fact, the only thing that was the same between the two authentication sources was the login names.

Swapping the Auth Source IDs would have resulted in each of the users getting deleted and recreated, since these GUIDs didn’t match.  But by swapping the OBJECT IDs of corresponding users, we were able to preserve all group membership and security.  Why did this work?  Well, in the PTUSERS table, all user objects have an Object ID, a mapping auth name, and other values that allow the respective Authentication Web Services to match a user to the source repository, whether it’s LDAP or AD.  But in every other portal table, only the Object ID is used for things like security and group membership.

So, for example, let’s say I have an mchiste account in LDAP that’s been fully configured; I’m a member of a bunch of groups, I’ve uploaded documents to Collaboration, and my user ID is in the Access Control List for various portal objects.  Then we run the AD Synch and there’s now a new mchiste account, but it doesn’t have any of that configuration associated with the old user.  If I just swap the object IDs for the two users, then all of a sudden my AD account will has all the correct group memberships and security settings, and the LDAP one looks like it’s brand new.

That’s exactly how User Auth Source Flipper works – it matches users from two authentication sources, then swaps out the ObjectID if there’s a match:

Got an idea for an interesting app?  Interested in developing your own Auth Source Flipper?  Give us a shout.

Oh, and “There’s a WCI App For That” can’t possible be confused with “There’s an app for that“, right?

There’s a WCI App For That 5: SearchFixer

Monday, October 18th, 2010

We’ve discussed a tiny bit about Knowledge Directory cards and how the WCI Search Update plays into the crawler ecosystem, and seen that it’s possible to directly query the WebCenter Search Service, so how ’bout a quick real-world application example, expanding both of those concepts?

Here’s the scenario:  I had a client that was showing discrepancies between “Browse” and “Edit” modes in the ALUI Knowledge Directory, and in Snapshot Queries.  I suppose I owe you all a more detailed explanation of these topics – which I’ll put up in a couple of days – but for the purposes of this article, suffice it to say that the “Search Index” and “Database” were mis-matched, and the WCI search index didn’t match the database.  Worse, the regular method of repairing this discrepancy (using the Search Update job after scheduling a Search Repair) wasn’t working.

So, to fix this issue, I developed another quick and dirty application that enumerated all folders in the Knowledge Directory, doing a search for cards within the folder, then querying the database.  The application would then compare the results, and if they were different, would allow the admin to “fix” the problem by deleting all cards from the Search Index for that folder.  When the Search Repair job next ran, it would re-create these entities without all the extraneous records in there.

Like this post, I’m not particularly proud of the code as a well-architected solution, but it works and I’d be happy to help you out if you want to get in touch.  Some of the relevant code is after the break. (more…)

There’s a WCI App For That 4: CardMigrator

Tuesday, September 28th, 2010

In my last post, I talked about the need to update both a cards’ location AND its CRC in the WebCenter Interaction database to migrate cards from one UNC path to another.  Today’s post is about an “App For That“, which is a utility I had written last year but essentially abandoned until Fabien Sanglier’s great tip about the CRC value needing to be changed.

The app is one of those “thrown together” .NET jobs where I was more focused on the need to update tens of thousands of cards for a client, rather than building a pretty and usable UI.  As such there isn’t a whole lot of error checking, and I’m not comfortable sharing the whole code base here – mostly because I’m just embarrassed about how it was hacked together.  But, if you’ve got a need for something like this, drop me a line and hopefully I can help you out or just send you the code as long as you promise not to make fun of me :) .

The code is pretty straight-forward:

  1. After entering the connection strings for the API and the DB (since, as mentioned, we haven’t yet found an ALUI / WebCenter API to make the change to the CRC), you click “Load Crawlers”. 
  2. The crawler list shows up in the tree on the left, grouped by Content Source since you’re likely only updating cards based on the NTCWS, and not WWW or Collaboration Server crawlers. 
  3. Clicking on a crawler shows you all the cards associated with that crawler, as well as a bunch of useful metadata. 
  4. From there, you can do a search and replace on the UNC paths for all the cards.  The update process uses the API and Database methods to update the cards and the crawler, so the next time the crawler or Search Update jobs run, no cards are updated since everything matches up – assuming, of course, you’ve already moved the physical files to the new location! 

Some relevant code is after the break; again, drop me a line if you’re looking for more.

(more…)

There’s a WCI App For That 3: Automater

Friday, June 4th, 2010

Let’s face it: sometimes even the simplest actions in the portal can take WAY too many clicks.  Take creating a single community:  you need to pick a community template, create pages, create Publisher portlets and add them to the pages, create Collab Projects, set security, etc.  And many times, most of this information is the same for every new community.  Community Templates help, but it still requires a LOT of clicks.

Integryst’s Automater product tackles this problem by allowing you to script multiple portal actions, only prompting for the unique information each time.  For example, at one client they wanted to create a “Network”, which consists of 7 communities, dozens of portlets, and multiple admin and regular users.  It literally would take over 100 clicks each time – and eventually there are going to be 100+ of these “networks”.  Tha’ts a lot of clicks!

Not using Automater, though.   Administrators just enter the information that’s unique to each network, and those 100 clicks are rolled into one:

All kinds of actions can be scripted – and secured so that only certain groups have access to specific actions:

(more…)

There’s A WCI App For That 2: PublisherManager

Friday, May 7th, 2010

You’ve read about Integryst’s PublisherEditor.  You’ve seen the video and read the product page.  The product continues to evolve, and is still the best WYSIWYG editor for AquaLogic / WebCenter Publisher on the market.  This post, though, is about an additional utility that comes included with PublisherEditor, called PublisherManager.

Articles have been written about finding published content URLs and changing publishing targets, but to date there hasn’t been a safe way to do a global search and replace of text in Content Items and Presentation Templates, or generate a report on publishing targets.  PublisherManager fills that void with a clean UI and the ability to download a report as a CSV so you can identify :

PublisherManager and PublisherEditor work with WebCenter Interaction 6.0 – 10.3.0.1, and AquaLogic Publisher 6.1 – 6.5. 

Interested in a demo?  Drop me a line.

There’s A WCI App For That 1: PublisherEditor

Thursday, February 25th, 2010

Special thanks to Fabien Sanglier for giving me the idea for the title of this blog feature (where’d he come up with such a catchy line!?).  Indeed, the WCI Portal has a ton of APIs that allow extensions and customizations, and there are dozens of products, code samples, and utilities that have been developed using them; if you can dream it, there no doubt IS an app for that.  The trick is finding it.

I’ll use this feature to showcase some of ‘em (admittedly, in a somewhat self-serving way).  Most will be products I’m offering or interesting throwaway apps Integryst has developed to share some ideas with you, but I am on the lookout for cool apps created by others to feature here as well.

Today’s feature is PublisherEditor 3.1, a product I’ve written over the past year that includes many features not available in the out-of-the-box Publisher Content Item Editor, resolving common issues with the out-of-the-box version of Publisher such as:

  1. Pasting content from Microsoft Word is possible without corrupting the styles
  2. Check-outs, saves, check-ins, and publishing are performed in one click, and all version history capabilities that Publisher provides are still available
  3. Styles in the rich editor are the same as the page, so there’s no guess-work on what the content will look like when it’s published
  4. Dynamically define styles, fonts, and sizes as you deem appropriate to prevent “style sprawl”
  5. Page anchor links can be created and won’t be broken on save/checkin
  6. Users don’t have to go from the HTML editor to the rich text editor to actually save content (a Publisher 6.5 bug)
  7. Images can be uploaded and actually viewed in the editor; gatewaying, relative links, and adaptive tags such as pt://images aren’t broken.
  8. Adaptive tags are not broken and are actually enhanced (rather than seeing XML you see formatted text)
  9. The HTML DOM won’t be corrupted when you’re updating the HTML
  10. Previews can be viewed in-line on the actual page the item will appear on
  11. Link to other communities, pages, and portlets by selecting them in a simple dialog box – no more copying links!
  12. Easily upload and link to files/documents for quick inclusion in the item
  13. In-line spell checker like Microsoft Word
  14. Browse existing images and files and quickly link to them
  15. Automatically refresh portlet caches so publishing items results in the content actually being updated
  16. Search, Replace, and more!

Take a look at the below video for more information, hit up the product page, and contact me if you’d like a Live Demo!