Tuesday, September 1, 2009

Tuesday, July 28, 2009

Accessing a web service through javascript

You have to add the service reference to the service reference section of the web.config (I think).

Do a google search for ServiceReference.  That might help too.

Web services EnableSession = true

By default, Web Services can't access session information from the website.  To enable this, add [EnableSession=true] above the function definition.

Getting rid of scroll bars using CSS

In cascading style sheets, you can use the "overflow" or "overflowx" property to get rid of scroll bars.   You can use "scroll" or "scrollx" to show scroll bars.

Wednesday, July 15, 2009

JICS and Google Analytics

Google Analytics and JICS : ICS-L

Could use this for page usage tracking

Auto Login with Novell and Javascript

Use javascript nwdirlib object : C#Corner Forums
Says you can use the following javascript to retrieve the username

LdapObj = new ActiveXObject("NWDirLib.NWDirCtrl.1");
entry=LdapObj.FindEntry(LdapObj.LoginName);
usrId=entry.ShortName

More nwdirlib sample code : stackoverflow.com

This method is susceptible to url hacking.

Tuesday, July 14, 2009

Custom reports in PDF

Info on Point Loma's report generator - ICS-Dev-L

Winnovative PDF : Shareware PDF tool used at Point Loma
Dynamic PDF : My favorite PDF tool
iTextSharp : Free PDF tool written in C#
PDFizer : Free HTML to PDF converter

Logging errors to the Event Log

Logging errors to the Event Log : ICS-Dev-L

Connecting to CX using SQL

JICS 7 methadology for connecting to an ERP database : ICS-Dev-L
InformixHelper.zip : ICS-Dev-L Helper function for connecting to Informix databases

Copying a portlet

PDF on how to copy a portlet : JAM 2008 presentation

CX Web Services

Creating a web service : ICS-Dev-L
Adding filter criteria to a web service : ICS-Dev-L (no response as of 7-15-09)
Adding data to an existing web service : ICS-Dev-L

External Authentication

External Authentication : Listserv Topic

Wednesday, July 8, 2009

VMWare vmmon error

Whenever I try to start a virtual machine, it throws the following error :

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.

Fixed problem by going to console and running "service vmware start" as root.

Tuesday, July 7, 2009

Portlets with multiple pages

You can create portlets with multiple pages, called views. Each 'view' has it's own .ascx page. You can switch between views using direct links

Portlets with Tabs

We can put tabs for different portlet views on our portlet

JicsWiki : http://www.jicswiki.com/index.php?title=PortletSuperTabs

Monday, July 6, 2009

Steps to install a portlet

JICS Wiki : Installing Portlets page
JICS Wiki : Generating LDIF Files page
  1. Copy .ascx files to portlet .ascx directory on web server
  2. Copy .dll assembly to portlet /bin directory on server
  3. Modify FWK_Globalization (?)
  4. Make database table and stored procedure changes (?)
  5. Add a Portlet Template definition to ADAM using an LDIF file
  6. If this is a secured portlet, sync global operations (?)
  7. Restart IIS

Steps to code a portlet

Steps to create a portlet - jics wiki

1. Create a class library project, and set a bunch of custom settings
  • Change the assembly name (see assembly naming conventions)
  • Set a post-build event that copies the compiled files into the correct directories (see directory naming conventions)
  • Enable debugging
  • Add reference to Jenzabar.Portal.Framework.Web
2. Create a C# class that inherits from PortletBase, which contains a GetCurrentScreen() function.
  • Ordinary portlets inherit from PortletBase
  • Secured portlets inherit from SecuredPortletBase
  • GetCurrentScreen() determines which view will be loaded when the portlet loads.
3. Create a user control for each view you want to use for your portlet
  • Required views are Default_view and Main_view
  • Each usercontrol inherits from the C# base class you created earlier.
  • Ordinary portlets inherit from PortletBase
  • Secured portlets inherit from SecuredPortletBase

Portlet that lets us view CX Web Pages through JICS

This is a portlet written by PLNU that lets us view CX web pages through the portal. It also contains ways that you can modify the Perl scripts that generate the CX web pages, so they work better with the portal.

Logging .dll installed with JICS

As a port of log4j, log4net is an excellent way to log a variety of information (debugging and otherwise). And log4net.dll is in Portal/bin. The log4net site has plenty of usage instructions, including many examples of the XML configuration syntax.

JICS : FWK_Globalization

There's a table called FWK_Globalization that's mentioned in almost every JICSWiki entry, but I have no idea what it does. It's probably important.

JICS : LDIF files and ADAM

When a portlet is installed, we have to stick some data into ADAM so JICS knows that our portlet exists.

Related pages :

http://www.jicswiki.com/index.php?title=GeneratingLDIFFiles
http://www.jicswiki.com/index.php?title=InstallingPortlets

JICS Secured Portlets

We can create a portlet that inherits SecuredPortletBase, instead of PortletBase.  This lets us create security levels in our portlets that can be administered by the JICS site administrator using the Global Portlet Operations page (Site Manager > Site Settings > Global Portlet Operations > Edit).  By default, we can set "canAccess", which will allow the administrator to set which users can view the portlet.  We can optionally add other security levels, such as "Admin", or we could hide and show views for different departments.

Related Links :
http://www.jicswiki.com/index.php?title=CreatingAPortlet
http://www.jicswiki.com/index.php?title=Resync_Operations
http://www.jicswiki.com/index.php?title=Global_and_Portlet_Operations

JICS Portal Templates

Question : I saw a reference to portal templates someplace. I'm wondering if there's anything to it.

JICS Portal Inheritance

Question : We should be able to write one portal that inherits code from another portal. However, the existance of .ascx files make this problematic, because .ascx files don't play well with inheritance. Are there any examples of this being done?

JICS : ASCX pages

With web controls, you have an .ascx page that defines how things look, and a .dll file that contains the code for the page. The info below is gleaned from JICS Portlet Creation page

Create a different .ascx file for each view.

There are two required views. Default_View, and Main_View. The ascx files for these must be located in Default_View.ascx and Main_View.ascx.

All the .ascx files for the portlet go in their own directory on the server

Every portlet has it's own directory. That directory goes in [Type]\Portal\Portlets\CUS\[Portlet name]. For more info on this directory, see "Naming Conventions"

All the .dll files for all portlets go in one directory

That directory is \Portal\bin

Question : How does the system know where our portlet's .ascx files are located?

Question : Can we build a portlet that has all the web controls defined in the .dll, and doesn't have an .ascx page?

Question : It looks like there are add-ons, such as LMS and CRM, that have their own portal directories. Do LMS portlet dll's go in LMS\Portal\bin, or is there a master \Portal\bin where all the data goes?

JICS Naming Conventions

Naming standard page : JICS Wiki

Portlets should be named :


[Two character ERP type] + [Short description] + [Institution Name]

Tables should be named :

"CUS_" + [Portlet name] + [table description]

Assemblies should be named :

"Portlet." + [Portlet name]

Root directory for .ascx files should be :

"\Portlets\CUS\" + [User-defined Subdirectory (optional)] + [Portlet name]

Question : Why are they removing the word 'portlet' from directory, namespace, and class names, but leaving it there for assembly / dll names?