Web Control Consumer Frequently Asked Questions
The following questions address common issues in portlet
development using the Web Control Consumer (WCC).
- Where are the WCC web controls in VS.NET? The WCC does
not provide any additional ASP.NET controls; it offers support for
the existing ASP.NET controls available with VS.NET to operate as
a portlet within a portal enviroment.
- Which dlls do I need to add as references to my project in
Visual Studio? None. All the assembly loading is handled automatically
when the HttpModule line is included in your Web.config file.
- Do I need to use the ReturnToPortal call
to go back to the portal page? Usually, no. If your portlet performs
all its logic on the main portal page, then you will never leave the
page, so you don't need to return to it. The exception is if you use
gatewayed or hosted mode, in which case you can use this call to return
to the aggregated page.
- When do I need to include the GetPostBackEventReference(this) call? This call is no longer required (version 2.2 and above).
- Why was the stylesheet link replaced with some JavaScript? The stylesheet must be appended to the main HTML DOM programmatically,
otherwise it will be unloaded upon postback and omitted upon refresh.
Instead of including your stylesheets in the standard way (<link type="text/css" rel="stylesheet" href="http://portal-img.plumtree.com/ptimages/plumtree/common/public/css/mainstyle-en.css"/>), the filter rewrites the link and appends it to the page using
JavaScript.
- How do I call a custom JavaScript function as soon as the portlet
refreshes itself? Call the function from an inline piece of script.
- How do I run a custom JavaScript function as soon as another
portlet refreshes itself? Register the function for the portlet's
rerender event. This can be done with the following JavaScript call,
where $$PORTLET_ID$$ is the ID for the portlet for which to listen:
document.PCC.RegisterForEvent(document.PCC.WindowEventURN,
"rerender.$$PORTLET_ID$$", myCustomFunction);
- How do I make my portlet refresh periodically to keep its data
up to date? Call the postback function from a timeout. For example,
the code below specifies a 10msec timeout: <script language="javascript">setTimeout(10,
"__doPostBack('','')");<script>
- Why can't I upload files from a form? File upload cannot
be done within the page, so in-page refresh is disabled for any multi-part
forms. For these forms, you must redirect back to the aggregated page
manually or perform the upload in a popup window.
- How do I disable the filter on a specific page? Add the
following call to your code to disable the filter for the current
request: Context.Items["PTWC:EnableFilter"] = false;