If You are Doing Custom Development
This section includes a few notes that might be of interest if you are doing custom development.
About the Custom User Controls
JICS includes a few user controls designed to hold your customizations.
User Controls that Complement default.aspx
The default.aspx file generally should not be customized (because customizations may be overwritten during upgrades). Rather, JICS includes a set of user controls intended to hold your modifications. These files are all located in the ClientConfig\Controls directory and are summarized below.
CustomHead.ascx
The CustomHead.ascx file can be used for a variety of different customizations, including the following:
Adding custom JavaScript
Pointing to custom stylesheets
CustomBody.ascx
The CustomBody.ascx file can be used for adding content such as the following:
Custom HTML
Custom JavaScript
Content such as a Google Analytics tracker
CustomSideBarBefore.ascx and CustomSideBarAfter.ascx
The CustomSideBar.ascx file can be used to add content above and below the sidebar.
Note that if you use these controls for customizing the sidebar, the system will (correctly) hide the sidebar from those administrative screens where it is not supposed to display, such as Site Manager and Context Manager. This may not be the case with other customization methods you might use.
User Control for Use with Direct Links
If you use direct links, note that the ClientConfig\Controls directory includes a file called CustomPortletViewHead.ascx, which can be used to customize the appearance of any feature instance when viewed through its direct link.
For general information about direct links, see the Placing Content on Another Site section.
Third-Party Products
JICS includes the following third-party products:
Accessible Menu (https://accessible-menu.dev/)
ASP.NET Web API (https://www.asp.net/web-api)
Bootstrap (https://getbootstrap.com/)
CsvHelper (https://joshclose.github.io/CsvHelper/)
DocumentUltimate (https://www.gleamtech.com/documentultimate)
Ember and Ember Data (https://emberjs.com/)
Font Awesome (https://fortawesome.github.io/Font-Awesome/)
FullCalendar (https://arshaw.com/fullcalendar/)
Handlebars (https://handlebarsjs.com/)
HTML Sanitizer (https://github.com/mganss/HtmlSanitizer)
iCal.net (https://github.com/rianjs/ical.net)
jQuery (https://jquery.com/)
jQueryUI (https://jqueryui.com/)
jQuery Validation (https://jqueryvalidation.org/)
Moment.js (https://momentjs.com/)
MoxieManager (https://www.moxiemanager.com/)
nHibernate (https://nhforge.org)
Packery (https://packery.metafizzy.co/)
Quartz.net (https://www.quartz-scheduler.net/)
Select2 (https://select2.org)
SignalR (https://www.asp.net/signalr)
StructureMap (https://docs.structuremap.net)
TinyMCE (https://tinymce.com)
TopShelf (https://topshelf-project.com/)
WebPush
Adding Tables
At some point, you may need to create custom tables in the main JICS database. If you do, you should give your tables a prefix of CUS.
Adding Custom Features
If you want to use a custom feature, you place the compiled DLL in the following location:
Drive:\Program Files\Jenzabar\ICS.NET\Portal\bin\
You should also create a custom directory to house .ascx files, CSS files, and so forth. This directory should be placed in the following location:
Drive:\Program Files\Jenzabar\ICS.NET\Portal\Portlets\
Customizing Specific Feature Screens (CRM Features Only)
In general, the CRM features are designed so that you can, for any of the feature’s screens, point to a custom user control instead of the prepackaged JICS control. This may be useful if you want to tweak one particular screen but do not want to customize the entire feature. You point to a custom user control by using the FWK_PortletViewLocation table. Your custom location will be referenced by JICS’s PortletViewLocator class.