Extending the iFS WebUILogin class

Morning, all,
We're in the process of integrating a Web Content Management System with the iFS repository. Short version of the story is that we have tables and PL/SQL packages on a separate schema within the same database that the iFS repository is resident in that are being accessed through a JSP front end. During the early phase of the development, we used the following connection bean to open a connection to the schema
import java.sql.*;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.servlet.http.*;
import oracle.jdbc.driver.OracleDriver;
import java.util.Vector;
public class CMSConnectionBean implements HttpSessionBindingListener {
private Connection __CMSConnection;
private Statement __Statement;
private final static String ConnectString ="jdbc:oracle:thin:@.....";
private final static String uid = "uid";
private final static String pwd = "pwd";
* Constructor Definitions
public CMSConnectionBean() {
try {
DriverManager.registerDriver (new OracleDriver());
myConnection = DriverManager.getConnection(ConnectString,uid,pwd);
myStatement = __CMSConnection.createStatement();
catch (SQLException e) {
System.err.println("Connection Bean: driver is not loaded - " + e);
myConnection = null;
// Method implementations...
and used an SQLJ wrapper class generated from Jdeveloper to call the PL/SQL packages. Read only views of the necessary tables in the CMS schema have been created, and grant execute privs on the necessary PL/SQL packages have been incorporated into a role that has been granted to IFSSYS.
What we want to do know is use the WebUILogin class to authenticate users logging onto the Content Management System using iFS authentication; and we want to provide a Connection and Statement object so we can query the CMS table views and invoke the PL/SQL packages through the JSP app, as well as access the iFS API. Is it possible to create a new class extending the WebUILogin class, and include two new class attributes from the java.sql.* library (specifically, a Connection and Statement object) and then implement the associated getter and setter methods? More to the point, how would we use the iFS LibrarySession information to open a JDBC driver to the IFSSYS schema to access the views and packages from the CMS schema? For example, can we extend the WebUILogin class, and then generate a constructor for the new subclass, something like
package pkg;
import ...etc etc etc;
public class newclass extends WebUILogin {
// Class attributes
private Connection myConnection;
private Statement myStatement;
//Constructor
public newclass() {
try {
super(); //calls the constructor for the base class, WebUILogin
// open the JDBC thin driver here
DriverManager.registerDriver (new OracleDriver());
myConnection = DriverManager.getConnection(..LibrarySession provided information here...);
myStatement = myConnection.createStatement();
catch (...)
// Method implementations
Or is there a better way of getting this functionality?
Thanks for your help
Geoff.
null

Geoff
Are you wanting to use the iFS JDBC Connection or establish your own connection based on user information (username,password) stored somewhere in iFS.
If you want to use your own information then you could create an extendedUserProfile that would allow you to record the uid,pwd needed to establish your own connection.
As Alan says, if you want to share the iFS JDBC connection that's not currently supported

Similar Messages

  • How to extend the JVue applet class using ActiveX Control

    My SR recommendation was to post this here:
    ) How to Extend the JVue Applet class
    This is the preferred solution. However, when using the ActiveX control, my derived JVue class that is specified in autovue.properties is not being instantiated.
    Your ActiveX bridge looks like it's hard coding a "new JVue()" which means I have no integration hook using the ActiveX control.
    To reiterate, if I extend JVue to add functionality and specify it in the autovue.properties, it is picked up when I run it standalone but if I use the ActiveX component, it is not being picked up.
    I have already read all the documentation, have had web conferences with Mahmood and Jeff Chapman and the engineering staff who recommended this approach as the preferred option.

    We have a need to override certain VueBean/JVue method calls to meet our document handling(documents need to handle metadata information and hence change the document loading cycle, ie markup loading/XRef resolution is dynamic). Also the invokeAction/invokeSubAction do not allow parameter passing(which we have requirements for certain actions again due to metadata) so we would like to override the invokeAction method to include custom processing(we will encode the action with parameters).
    We are already using Custom VueActions for other simpler UI event handling that don't have parameter requirements.
    As I said above, these use cases were relayed to the engineering team and senior staff members in early December and we were told that we could proceed with overriding the main class in the autovue.properties file. I have SR(s) opened with a long thread detailing this so I really don't want to go through this again.
    A custom VueAction does not seem to work because it binds to late in the object call/event stream.

  • Extending the oracle java classes for PJCs - Help!

    In developer6 (forms) - I am trying to create my own version of
    certain forms components, without much look.
    I have created an item in forms, ie. Checkbox, in the
    'Implementation Class' field I called my java class.
    My code 'extends VCheckbox' and I have created my own paint()
    mthoed.
    Whilst it does call and run my code there are several problems.
    Mainly being that I cannot change the size the component - I have
    seen the demo source code - and the examples of what I am trying
    to do are less than simple (read: less than useless).
    I dont not want a java bean. The forms help says I should be able
    to extend the above class okay - but doesnt say what limitations
    there are or what functionality there is in the oracle.forms.ui
    classes.
    Has anyone else actually achieved anything other than JavaBean
    components?
    null

    : Have you seen the RolloverButton example ?
    : It is under Forms documentation in TechNet
    : and is quite advanced.
    No, have search Dev6 manuals, can not find this by searching
    Technet either - can you specify (provide URL)?
    I am trying to re-implement the VCheckbox using Smoking/No
    Smoking images. I can create the images, but the toggling action
    does not work when the component size is greater than the
    original subclassed component.
    None of the examples show creating components of sizes that
    differ from the subclass.
    Surely I only need to override paint() method?
    Code fragment:
    import ....
    public class ImageToggler extends VCheckbox {
    // ... does initialisation of images ....
    // ... Images are 32x32 ...
    public void paint( Graphics g ) {
    if ( getState() == true ) {
    g.drawImage( ysSmoke.getImage(), 0, 0,
    ysSmoke.getIconWidth(),
    ysSmoke.getIconHeight(), this );
    } else {
    g.drawImage( noSmoke.getImage(), 0, 0,
    noSmoke.getIconWidth(),
    noSmoke.getIconHeight(), this );
    null

  • Extending the TextField.StyleSheet() class

    I have been looking for all kinds of ways to do this, but
    been having a really hard time finding what I want. I think I have
    found some info from people who have done something similar, but it
    is not quite what I want. I looked over their class and it only
    makes somewhat sense to me.
    Here is the article:
    http://www.blog.lessrain.com/?p=98
    I really need to find a way to create top and bottom margin
    or padding for p, h, and img tags via the css.
    Can anyone help me with this? I am sure this would be useful
    for many people, as to me this seems like such a standard thing.
    Thanks a lot for reading! Any help would greatly appreciated.

    Geoff
    Are you wanting to use the iFS JDBC Connection or establish your own connection based on user information (username,password) stored somewhere in iFS.
    If you want to use your own information then you could create an extendedUserProfile that would allow you to record the uid,pwd needed to establish your own connection.
    As Alan says, if you want to share the iFS JDBC connection that's not currently supported

  • Usage if the ifs-search classes

    hi,
    I look for an example of the use of the search classes -- Oracle.ifs.search.*, Oracle.ifs.beans.Search and Oracle.ifs.beans.SearchResultObject.
    It would be nice if you could give me a small codeexample
    TIA
    Oliver

    * This method seaches and gets the content of an iFS document.
    private static String getStyleSheetContent(LibrarySession ifs, String xslName)
    throws IfsException
    String retString = "";
    String className[] = {"DOCUMENT"};
    SearchClassSpecification scs = new SearchClassSpecification(className);
    scs.addResultClass("DOCUMENT");
    AttributeQualification aq1 = new AttributeQualification();
    aq1.setAttribute("DOCUMENT", "NAME");
    aq1.setOperatorType(AttributeQualification.LIKE);
    aq1.setValue(xslName);
    SearchSortSpecification ss = new SearchSortSpecification();
    ss.add("NAME" , SearchSortSpecification.ASCENDING);
    AttributeSearchSpecification ass = new AttributeSearchSpecification();
    ass.setSearchClassSpecification(scs);
    ass.setSearchQualification(aq1);
    ass.setSearchSortSpecification(ss);
    Search srch = new Search(ifs, ass);
    srch.open();
    try
    { while (true)
    LibraryObject lo = srch.next().getLibraryObject();
    Document d = (Document)lo;
    InputStream is = d.getContentStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(is));
    for (String nextLine = br.readLine(); nextLine != null; nextLine = br.readLine())
    retString += nextLine;
    br.close();
    catch (IfsException e)
    if (e.getErrorCode() == ERRORCODE)
    if (DEBUG)
    System.out.println("Reached the end of the search data");
    else
    throw e;
    catch (IOException ioe)
    System.err.println("IOException reading XSL : " + ioe.toString());
    srch.close();
    if (DEBUG)
    System.out.println("Returning :[" + retString + "]");
    return retString;
    null

  • Where did the iFS Javadoc webpages go?

    The Javadoc webpages of iFS APIs seem to have vaporized early last week. Can someone please point to their new home? they were not easy to find in the first place, but now I am having no luck at all.
    Thanks,
    -Jeff

    I'm trying very hard to just create a new versioned document in IFS 9.0.2 via APIs. Unfortunately, I'm running into problems at many different points:
    If I don't specify a content string, I get:
    oracle.ifs.common.IfsException: IFS-30002: Unable to create new LibraryObject
    oracle.ifs.common.IfsException: IFS-31803: No Content specified in ContentObjectDefinition
    If I leave the file out of the DocDef, I get a different error:
    java.lang.NoSuchMethodError: long oracle.jdbc.dbaccess.DBAccess.lobWrite(oracle.sql.BLOB, long, byte[])
    Even if this were to work, embedded within the code, there is quirky behaviour coming from the order of establishing Documents, VersionsSeries, and Families. I know you guys are trying to maintain flexability, but the structures listed in the book have hidden sequential dependencies (difficult coupling issues). It's not well documented, making these APIs very difficult to use without a lot of insider knowledge. It's great that you all can agree as to where I should go for examples, but you have not clearly communicated to me where I can see these examples. This is the same as when I asked for javadocs. please be kinder to me, I can't read your minds or participate in your internal communication. Don't get me wrong, I appreciate all the help, but I am not making great progress on this side. With all of the quirkiness my company has experienced with iFS's Java APIs, we've decided to isolate and eliminate 80% of the extra methods provided. We are trying to wrap the remaining 20% into a highly reliable Interface & Implementation. The I/F is easy to define, but even just sifting through and using the ifs bean classes for implementation is proving difficult.
    com.rsaiia.common.pdm.Folder aDir = testFileRepository.getRootFolder()
    .getFolder("home")
    .getFolder("jeffr")
    .getFolder("SecondTest");
    com.rsaiia.common.pdm.myDoc = aDir.createDocument("BungBucket.unc",
    "UNCLASSIFIED_DOCUMENT",
    new File("C:\\docs\\VersionTest.txt"));
    public com.lmco.rsaiia.common.pdm.Document
    createDocument(String theDocName, String theContentTypeName, File theFolderPath)
    throws PDMException {
    com.lmco.rsaiia.common.pdm.Document theDoc;
    if (theDocName == null)
    throw new NullPointerException("No Document Name");
    if (theContentTypeName == null)
    throw new NullPointerException("No ContentType Name");
    if (theFolderPath == null)
    throw new NullPointerException("No File Name");
    String description = theDocName + " Description";
    // The content (file to be contained in document) is associated in the
    // createDocumentDefinition call
    try{
    DocumentDefinition def = createDocumentDefinition(theDocName, description,
    theFolderPath, theContentTypeName);
    def.setAddToFolderOption(myFolder);
    // the more general variant of createDocument does the rest
    theDoc = getDocument(createDocument(def));
    theDoc.addAttribute(m_SOURCE_FILE_LOCATION_ATTRIBUTE); // should already be there but just in case
    PublicObject aFileObject = myFolder.findPublicObjectByPath(theDocName);
    Family aFamily = (Family)aFileObject;
    myFileSystem.makeVersioned(aFileObject); // make all created files versioned
    VersionSeries aVSeries = aFileObject.getFamily().getPrimaryVersionSeries();
    VersionDescription aVersDesc = aVSeries.getLastVersionDescription();
    System.out.println("Created Document " + theDocName + " In " + theFolderPath);
    return theDoc;
    catch (Exception e){
    throw new PDMException(e);
         * create a DocumentDefinition.
         * @param docName          the name of the new document
         * @param classname          the name of the classobject for the new document
    * @param filePath          a local file system path to content for
         * this document
    * @param parent          the folder that will become the parent of the
         * new document
         * @return                    the created Document
         * @exception IfsException if operation fails.
    private DocumentDefinition createDocumentDefinition (String name,
              String description, File filePath, String contentType)
              throws IfsException {
    if ( name == null )
    throw new NullPointerException("Next time, offer a document name");
              DocumentDefinition def = new DocumentDefinition(getSession());
              def.setAttribute(oracle.ifs.beans.Document.NAME_ATTRIBUTE,
                   AttributeValue.newAttributeValue(name));
              def.setAttribute(oracle.ifs.beans.Document.DESCRIPTION_ATTRIBUTE,
                   AttributeValue.newAttributeValue(description));
              // Set the class only if it's specified
              ClassObject co = (contentType == null)
                   ? null : lookupClassObject(contentType);
              if (co != null)
                   def.setClassObject(co);
              // Set the content if specified
    if (filePath != null)
    applyContentSettings(def, filePath.toString());
              return def;
    Gets the file extension from the supplied file name and
                   uses this to infer the Format which is written to the supplied
    document definition object
    private void applyContentSettings(DocumentDefinition def, String filePath)
              throws IfsException
              if ((filePath != null) && (def != null))
                   String ext = null;
                   int pos = filePath.lastIndexOf(".");
                   if (pos > 0 && pos < filePath.length())
                        ext = filePath.substring(pos + 1);
                   if (ext == null)
                        // default to "txt"
                        ext = "txt";
                   // set the based on the extension from the filepath
                   Format fmt = lookupFormatByExtension(ext);
                   def.setFormat(fmt);
                   def.setContentPath(filePath);
    * Creates a new folder in the directory specified by the oParentFolder input parameter
    * @param Document a Oracle Document.
    * @return     PDMDocument
    * @throws IfsException if operation fails.
    private com.lmco.rsaiia.common.pdm.Document getDocument (oracle.ifs.beans.Document theDoc)
    throws PDMException {
    try{
    return new PDMDocument(theDoc,getSession(),getFileSystem());
    catch (Exception e){
    throw new PDMException(e);
    private oracle.ifs.beans.Document createDocument(DocumentDefinition def) // was public
    throws IfsException     {
    oracle.ifs.beans.Document theDoc =
    (oracle.ifs.beans.Document) getSession().createPublicObject(def);
              return theDoc;

  • Extending the same form twice

    Hello everyone
    We are in the process of moving from paper foem for IT computer and access resources. 
    I have two completely different forms with many fields requesting user input
    1) one for System access - eg new domain, email, share permission etc
    2) one for Hardware - request laptop, scanner, printer etc 
    I created a new MP,extended the Service Request Class for the first form, imported MP and published to self service portal and works. The second MP I have done just about the same thing but
    When i try to import the second management pack I get
    The management pack import failed. 
    Errors (1):
    The form base is not valid. Form CustomForm_782e48a6_5a5e_482d_8c8b_8be983c0e7f6 extends form Microsoft.EnterpriseManagement.ServiceManager.Applications.ServiceRequest.Forms.ServiceRequestForm, which already has another extension (CustomForm_ff446f5d_b10f_4772_84ef_7e7c4a6c5bc0).
    Is there something I am missing?
    Any help is appreciated

    I see, that was what i was afraid off.
    I guess there is no add-ons for purchase that add's something to all work items. (even though i have heard about some upcoming stuff that does ;))
    too bad! .. i will stick to normal custimization then. luckily it is not much xml that needs to be added.
    (would have been the SAME Xml .. but the form designers have not followed any kind of naming convention, so custom customization is needed for each type of items. (the main tabcontol is named TabControl, srTabControlMain, formTabs etc. ) ;)
    Best Regards
    Jakob Gottlieb Svendsen
    Trainer/Consultant - Coretech A/S -
    Blog
    MCT - MCTS - VB.NET - C#.NET - Powershell - VBScript Mastering System Center Orchestrator 2012 - 3 day workshop - worldwide training click
    here

  • Error Extending the OAEntityImpl class when creating a BC4J  Entity Object

    I have created an EO based on an Oracle Apps table and extended the OAEntityDefImpl, OAEntityCache and OAEntityImpl classes as specified in the OA Framework Developers Guide when creating EO's via the BC4J wizard.
    When I build my Business Components package I recive an error stating that the Impl class should be declared abstract.
    Error(14,8): class oracle.apps.xxtpc.arinvoices.schema.TpcApInvoicesEO2Impl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) in class oracle.apps.fnd.framework.server.OAEntityImpl
    When I modify this class to declare it abstract and then try to test (via the AM test function) the VO that I created based on this EO - I receive an oracle.jbo.RowCreateException: JBO-25017.
    Do you think that this has anything to do with modifying the Impl class to make it abstract? I can create another VO against the same table by creating a SQL statement against it and not basing it off of the EO and this VO will run correctly via the AM tester.
    Thanks,
    Chris
    oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for TpcApInvoicesEO.
         at oracle.jbo.server.EntityDefImpl.createBlankInstance(EntityDefImpl.java:1054)
         at oracle.jbo.server.ViewRowImpl.createMissingEntities(ViewRowImpl.java:1532)
         at oracle.jbo.server.ViewRowImpl.init(ViewRowImpl.java:236)
         at oracle.jbo.server.ViewDefImpl.createBlankInstance(ViewDefImpl.java:1050)
         at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1007)
         at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2643)

    The problem was that there were no audit columns in the table that I was querying.

  • EXTENDING the string class

    ok, i know extending the string class is illegal because it's final, but i want to make an advanced string class that basically "extends" the string class and i've seen online this can be done through wrapper classes and/or composition, but i'm lost
    here is my sample code that is coming up with numerous compile time errors due to the fact that when i declare a new AdvString object, it doesn't inherit the basic string features (note: Add is a method that can add a character to a specified location in a string)
    class AdvString
         private String s;
         public AdvString(String s)
              this.s = s;
         public void Add(int pos, char ch)
              int this_len = (this.length()) + 1;
              int i;
              for(i=0;i<(this_len);i++)
                   if(pos == i)
                        this = this + ch;
                   else if(pos < i)
                        this = this + this.charAt(i-1);
                   else
                        this = this + this.charAt(i);
         public static void main(String[] args)
              AdvString s1;
              s1 = new AdvString("hello");
              char c = 'x';
              int i = 3;
              s1.Add(i,c);
              //s2 = Add(s1,i,c);
              //String s2_reversed = Reverse(s2);     
              System.out.println("s1 is: " + s1);
    any tips?

    see REString at,
    http://www.geocities.com/rmlchan/mt.html
    you will have to replicate all the String methods you are interested in, and just forward it to the String instance stored in REString or the like. it is like a conduit class and just passes most processing to the 'real' string. maybe a facade pattern.

  • TransactionContext not foundin class.Extending the controller

    Hi All,
    I am extending the LocationLovCO controller. I want to utilize the SSHRParams of LocationLovCO in my CO i.e. xxxLocationLovCO (basically to get assignment_id,effective_date, bgid).
    I have imported all the packages.
    When I tried to compile my Controller. it throws up the following error.
    TransactionContext not foundin class oracle.apps.per.selfservice.common.SSHRParamTable in class oracle.apps.per.selfservice.common.SSHRParams in class xxx.oracle.apps.per.selfservice.deployperson.webui.xxxLocationLovCO.
    Does anyone have any idea. Any help is appreciated.
    Thanks
    Rama

    Try the OA Framework forum

  • Confused about extending the Sprite class

    Howdy --
    I'm learning object oriented programming with ActionScript and am confused about the Sprite class and OO in general.
    My understanding is that the Sprite class allows you to group a set of objects together so that you can manipulate all of the objects simultaneously.
    I've been exploring the Open Flash Chart code and notice that the main class extends the Sprite class:
    public class Base extends Sprite {
    What does this enable you to do?
    Also, on a related note, how do I draw, say, a line once I've extended it?
    Without extending Sprite I could write:
    var graphContainer:Sprite = new Sprite();
    var newLine:Graphics = graphContainer.graphics;
    And it would work fine. Once I extend the Sprite class, I'm lost. How do I modify that code so that it still draws a line? I tried:
    var newLine:Graphics = this.graphics;
    My understanding is that since I'm extending the Sprite class, I should still be able to call its graphics method (or property? I have no idea). But, it yells at me, saying "1046: Type was not found or was not a compile-time constant: Graphics.

    Thanks -- that helped get rid of the error, I really appreciate it.
    Alas, I am still confused about the extended Sprite class.
    Here's my code so far. I want to draw an x-axis:
    package charts {
        import flash.display.Sprite;
        import flash.display.Graphics;
        public class Chart extends Sprite {
            // Attributes
            public var chartName:String;
            // Constructor
            public function Chart(width:Number, height:Number) {
                this.width = width;
                this.height = height;
            // Methods
            public function render() {
                drawAxis();
            public function drawAxis() {
                var newLine:Graphics = this.graphics;
                newLine.lineStyle(1, 0x000000);
                newLine.moveTo(0, 100);
                newLine.lineTo(100, 100);
    I instantiate Chart by saying var myChart:Chart = new Chart(); then I say myChart.render(); hoping that it will draw the axis, but nothing happens.
    I know I need the addChild method somewhere in here but I can't figure out where or what the parameter is, which goes back to my confusion regarding the extended Sprite class.
    I'll get this eventually =)

  • Can we extend the Throwable class instead of Exception Class??

    Hi all..
    Can we extend the Throwable class instead of Exception Class while creating our own custom Exception?If not Why?
    Please give your valuble advices..
    Ramesh.

    I don't want to hijack the thread here, but in a conversational tone...on a related note.. I've thought about this too a bit and wondered if there are some recommended practices about catching and handling Throwable in certain applications. Like the other day I was debugging a web application that was triggering a 500. The only way I could find the problem in an error stack was to write code to catch Throwable, log the stack, and then re-throw it. I considered it "debug" code, and once I solved the problem I took the code out because, my understanding is, we don't want to be handling runtime problems... or do we? Should I have a catch clause for Throwable in my servlet and then pass the message to ServletException?
    So along with the OP question, are there separate defined occasions when we should or should not handle Throwable? Or does it just all depend on circumstance?

  • How can I extend the Vector class?

    Hi All,
    I'm trying to extend the Vector class so I can get add a .remove(item:T) method to the class.  I've tried this:
    public class VectorCollection extends Vector.<T>
    That gives me the compile error "1017: The definition of base class Vector was not found"
    So then I tried:
    public class VectorCollection extends Vector
    Which gives me the compile error "1016: Base class is final."
    There must be some way to extend the Vector class, though, as on the Vector's official docs page it says:
    Note: To override this method in a subclass of Vector, use ...args for the parameters, as this example shows:
         public override function splice(...args) {
           // your statements here
    So there must be a way to extend the Vector class.  What am I doing wrong?

    No. AS3 doesn't currently have full support for generic types; Vector.<T> was added in an ad-hoc ("ad-hack"?) way. We are considering adding full support in a future version of ActionScript.
    Gordon Smith
    Adobe Flex SDK Team

  • Extending the Thread class

    i would like to do that
    1) One thread displays "ABC" every 2 second;
    2) The other thread displays DEF every 5 seconds;
    i need to create the threads by extending the Thread class ...
    thank you for your help ,
                public class Thread1 extends Thread {
              public Thread1(String s ) {
                   super (s);
              public void run() {
                   for ( int i=0; i<5; i++ ) {
                        System.out.println(getName());
                        try {
                           sleep ((long) 5000);
                        } catch (InterruptedException e ) {
                           /* do nothing */
              public static void main (String args[]) {
                   new Thread1 ("ABC").start();
                   new Thread1 ("DEF").start();
         }     

    I think he has been told to use the Thread class by the sounds of it.
    public class Thread1 extends Thread {
         public Thread1(String s ) {
              super (s);
         public void run() {
              for ( int i=0; i<5; i++ ) {
                   System.out.println(getName());
                   try {
                      sleep (getName().equals("ABC")? 5000 : 2000); //If you don't understand this then Google for "Java ternary operator"
                   } catch (InterruptedException e ) {
                      /* do nothing */
         public static void main (String args[]) {
              new Thread1 ("ABC").start();
              new Thread1 ("DEF").start();
    }

  • Extending the class - For extra feilds\properties on service requests

    We have extended the class for service request so we can have extra properties for user input on service requests. These extra feilds are now visible via the extensions tab at the top of the service request and also on a new tab next to Histroy.
    However each time we open a new service request the default tab it opens onto is this new "Notes" tab and not the "General" tab, causing a lot of fustrations. See below:
    Anyone know how to change this default view back to the general tab?

    An annoying "feature" of SCSM form customisation is that the last tab changed becomes the default tab shown. Open your custom form MP in the Authoring Tool again and go to the general tab, change the top margin by 1 of the title or something
    similar, reseal, import. The general tab will be the default once more.
    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click
    here

Maybe you are looking for