Object Modeling Tools

I know that there have been many discussions before on this list about
modeling tools, but here goes one more...
We are in the process of evaluating Modeling Tools that work well with
Forte. We would also like to have a tool that integrates with a Data
Modeling tool.
I am looking for comments / experiences with any of the following:
Rational
Select
Platinum
Cayenne
ERwin
PowerDesigner (previously S-Designer)
Specific areas of concern: 1) Stability of product
2) Level of support
3) Ability to keep model and code in synch (do you really use round
tripping? or do you use for initial analysis and design only?)
4) Level of integration between object and data models
All comments are appreciated.
Regards,
Tony
=====================================================================
Tony Elmore
MSF&W
Springfield, Il
(217) 698-3535
[email protected]
=====================================================================

I know that there have been many discussions before on this list about
modeling tools, but here goes one more...
We are in the process of evaluating Modeling Tools that work well with
Forte. We would also like to have a tool that integrates with a Data
Modeling tool.
I am looking for comments / experiences with any of the following:
Rational
Select
Platinum
Cayenne
ERwin
PowerDesigner (previously S-Designer)
Specific areas of concern: 1) Stability of product
2) Level of support
3) Ability to keep model and code in synch (do you really use round
tripping? or do you use for initial analysis and design only?)
4) Level of integration between object and data models
All comments are appreciated.
Regards,
Tony
=====================================================================
Tony Elmore
MSF&W
Springfield, Il
(217) 698-3535
[email protected]
=====================================================================

Similar Messages

  • ReportClientDocument object model, simple question

    How can I modify report in runtime using RAS SDK (ReportClientDocument obj model)?
    I tried several different ways to modify report (change date format of the field, change field width...), and nothing happens.
    all properties seems to be changed but, reportdocument object remains unchanged.
    here is the code I used:
                   object path = (object)@"C:\Program Files\Business Objects\BusinessObjects Enterprise 11\Samples\EN\Reports\cr_ListOfLateFeesToBeExempted.rpt";
                   ReportClientDocument crReportDocument = new ReportClientDocument();
                   crReportDocument.ReportAppServer = "sizlak";
                   crReportDocument.Open(ref path, 0);
                   CrystalDecisions.Shared.ConnectionInfo crConnectionInfo = new CrystalDecisions.Shared.ConnectionInfo();
                   crConnectionInfo.ServerName = "***";
                   crConnectionInfo.DatabaseName = "****";
                   crConnectionInfo.UserID = "***";
                   crConnectionInfo.Password = "***";
                   TableLogOnInfos crTableLogonInfos = new TableLogOnInfos();
                   crViewer.LogOnInfo = crTableLogonInfos;
                   CrystalDecisions.ReportAppServer.ReportDefModel.ReportObjects sss = crReportDocument.ReportDefController.ReportObjectController.GetAllReportObjects();
                   foreach(CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject ss in sss)
                        Response.Write("<br>" + ss.Kind);
                        if(ss.Kind == CrystalDecisions.ReportAppServer.ReportDefModel.CrReportObjectKindEnum.crReportObjectKindField)
                             CrystalDecisions.ReportAppServer.ReportDefModel.FieldObject myField = crReportDocument.ReportDefinition.FindObjectByName(ss.Name) as CrystalDecisions.ReportAppServer.ReportDefModel.FieldObject;
                             if(myField.FieldValueType == CrystalDecisions.ReportAppServer.DataDefModel.CrFieldValueTypeEnum.crFieldValueTypeDateField ||
                                  myField.FieldValueType == CrystalDecisions.ReportAppServer.DataDefModel.CrFieldValueTypeEnum.crFieldValueTypeDateTimeField)
                                  myField.Height=150;
                                  myField.Format.HorizontalAlignment = CrystalDecisions.ReportAppServer.ReportDefModel.CrAlignmentEnum.crAlignmentRight;
                                  myField.FontColor.Color = 32000;
                                  myField.Border.RightLineStyle = CrystalDecisions.ReportAppServer.ReportDefModel.CrLineStyleEnum.crLineStyleDouble;
                                  myField.Width = 2;
                                  myField.Border.HasDropShadow = true;
                   crViewer.ReportSource = crReportDocument;

    hi, i am using jbuilder 2006 for my j2ee project.
    i want to see the object model diagram which shows me
    the whole existing project in one place stating how
    objects are related. so ---
    1. how can i do that in jbuilder?RTFM. If it's supported in the version of JBuilder you use (I think it's only supported in the enterprise edition) it will be mentioned in the manual.
    2. are there any other good tools/softwares
    available?yes.
    3. any pointers for preparing this diagram is
    appreciated.
    Sun's course number OO-226

  • InDesign Object Model Not in OM Viewer

    I have the trial of InDesign CS4 installed, along with the scripting componetns and Adobe bridge.
    In the ES Toolkit object model viewer I have four options in the dropdown:
    Core JavaScript Classes
    ScriptUI Classes
    Adobe Bridge CS4 Object Model
    Adobe InDesign CS4 Object Model
    The first three options work fine. The crucial fourth option (the InDesign model) does nothing. I open it and the drop down just closes, then snaps back to whatever the previous selection was.
    What is causing this and how do I fix it? Hard to script without the object model reference!
    Many thanks in advance for any help.
    Jude Fisher
    http://www.jcfx.eu

    Try selecting InDesign from the drop down before starting InDesign.
    That's the only way I can get it to work on my installation...
    Harbs
    http://www.in-tools.com

  • Create folder in Document Library using Sharepoint 2010 Client Object Model

    I would like to check for the existence of a folder in s Sharepoint 2010 Document Library and if the folder is not found, create it. (I would then subsequently programmatically upload documents to that folder -- which I have figured out). Can someone
    please help me figure out how to check for the extistence of and then create a folder using the Sharepoint 2010 Client Object Model?

    You can use this:
    public static void CreateFolder_ClientOM(string listName, string folderName)
    ClientContext clientContext = new ClientContext("http://basesmc2008");
    Web web = clientContext.Web;
    List list = clientContext.Web.Lists.GetByTitle(listName);
    clientContext.Load(clientContext.Site);
    string targetFolderUrl = listName + "/" + folderName;
    Folder folder = web.GetFolderByServerRelativeUrl(targetFolderUrl);
    clientContext.Load(folder);
    bool exists = false;
    try
    clientContext.ExecuteQuery();
    exists = true;
    catch (Exception ex)
    if (!exists)
    ContentTypeCollection listContentTypes = list.ContentTypes;
    clientContext.Load(listContentTypes, types => types.Include
    (type => type.Id, type => type.Name,
    type => type.Parent));
    var result = clientContext.LoadQuery(listContentTypes.Where
    (c => c.Name == "Folder"));
    clientContext.ExecuteQuery();
    ContentType folderContentType = result.FirstOrDefault();
    ListItemCreationInformation newItemInfo = new ListItemCreationInformation();
    newItemInfo.UnderlyingObjectType = FileSystemObjectType.Folder;
    newItemInfo.LeafName = folderName;
    ListItem newListItem = list.AddItem(newItemInfo);
    newListItem["ContentTypeId"] = folderContentType.Id.ToString();
    newListItem["Title"] = folderName;
    newListItem.Update();
    clientContext.Load(list);
    clientContext.ExecuteQuery();
    Blog | SharePoint Field Notes Dev Tool |
    ClassMaster

  • Business Object Modeler Question

    Hi Experts,
    I'm new to CE and currently trying to figure out what can I do with it?
    Assume that I'm planning to create an application to follow activities that our consultants doing.
    For this, we're planning to use Local Portal Database to store datas.
    When I checked, "Business Object Modeler" is a tool which helps to create business objects and generates tables behind and access services automatically.
    Then generating a Web Service for this BO and then using the WS with VC and WD4J is a great asset for us.
    But, my questions?
    1. Is this a right approach for  such scenario?
    2. I've created a sample BO and generated WS and tried to use with VC. Create, Delete, Reand and Update Operations can be made available for WebService, but I'm unable to add FindAll or FindByMultiple Parameter operations to Web Service?
    Any idea for Q1 and answer for Q2 will be appreciated.
    Regards

    Hi,
    Yes, You have to arite the code.Actually, Application services are the place where you will wrtie your business logic.
    In th application service operations you have to call the business object operations.
    For architechturel guidelines you can go [through thii doc|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00caf8bd-487a-2a10-36a9-93d840309310].
    answer to second question:
    You can't change the code in the BO operations. What ever you want, you have to do it in the application servcies only.
    Create an application service operation  say:
    operation(). Create a input/output data structures.
    Exapmle:     OperationResponce operation(OperationRequest).
    Yuor lists add to the  OperationRequest datatype. Similarly for  OperationResponce also. In this case you don,t have any issues.Actually this is the standered for Web Services.
    [This document|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0d97ec6-5de0-2a10-a5b3-b5926075566c], you can use as an example
    [CE 7.1 Tuorial Center.|https://www.sdn.sap.com/irj/sdn/nw-development?rid=/webcontent/uuid/903c2cdb-98d6-2a10-84b7-ab22535de11a]
    Reward Points, If you feel it is useful.
    Sampath

  • Why does R/3 have no ABAP UML modelling tools integrated?

    I find it strange that SAP tout the benefits of OO programming and ABAP classes, then completely fail to provide a UML round trip modelling tool integrated into the ABAP workbench.
    Doesn't this display a lack of foresight on SAPs behalf? I mean, if you are serious about the use of OO software, shouldn't you be serious about providing the framework such as UML modelling tools to facilitate optimal development?
    Currently if I design a solution with ABAP objects, I am using Altova UModel to document the solution, but the lack of integration with the ABAP environment means that I am always struggling to keep the code and model in sync.
    does anybody have similar views on this? If views are in accordance, couldn't the SDN community try to lobby SAP to provide such a tool?

    Hello Anthony
    I document my ABAP-OO developments with Altova UModel, too. A colleague recently showed me that the NetWeaver Developer Studio has UML functionality but for Java developments only (where round-trip engineering is already commonplace).
    I assume that the problem with ABAP round-trip engineering is the ABAP dictionary. With Java you have the simple data types and the the class hierarchies of Java. In ABAP we also need the dictionary types.
    I would appreciate to have such UML tools for ABAP available, yet I do not expect them to become available in the near future.
    Regards
       Uwe

  • How to upload a document with values related to document properties in to document set at same time using Javascript object model

    Hi,
          Problem Description: Need to upload a document with values related to document properties using custom form in to document set using JavaScript Object Model.
        Kindly let me know any solutions.
    Thanks
    Razvi444

    The following code shows how to use REST/Ajax to upload a document to a document set.
    function uploadToDocumentSet(filename, content) {
    appweburl = decodeURIComponent(getQueryStringParameter('SPAppWebUrl'));
    hostweburl = decodeURIComponent(getQueryStringParameter('SPHostUrl'));
    var restSource = appweburl +
    "/_api/SP.AppContextSite(@target)/web/GetFolderByServerRelativeUrl('/restdocuments/testds')/files/add(url='" + filename + "',overwrite=true)?@target='" + hostweburl + "'";
    var dfd = $.Deferred();
    $.ajax(
    'url': restSource,
    'method': 'POST',
    'data': content,
    processData: false,
    timeout:1000000,
    'headers': {
    'accept': 'application/json;odata=verbose',
    'X-RequestDigest': $('#__REQUESTDIGEST').val(),
    "content-length": content.byteLength
    'success': function (data) {
    var d = data;
    dfd.resolve(d);
    'error': function (err,textStatus,errorThrown) {
    dfd.reject(err);
    return dfd;
    Then when this code returns you can use the following to update the metadata of the new document.
    function updateMetadataNoVersion(fileUrl) {
    appweburl = decodeURIComponent(getQueryStringParameter('SPAppWebUrl'));
    hostweburl = decodeURIComponent(getQueryStringParameter('SPHostUrl'));
    var restSource = appweburl +
    "/_api/SP.AppContextSite(@target)/web/GetFolderByServerRelativeUrl('/restdocuments/testds')/files/getbyurl(url='" + fileUrl + "')/listitemallfields/validateupdatelistitem?@target='" + hostweburl + "'";
    var dfd = $.Deferred();
    $.ajax(
    'url': restSource,
    'method': 'POST',
    'data': JSON.stringify({
    'formValues': [
    '__metadata': { 'type': 'SP.ListItemFormUpdateValue' },
    'FieldName': 'Title',
    'FieldValue': 'My Title2'
    'bNewDocumentUpdate': true,
    'checkInComment': ''
    'headers': {
    'accept': 'application/json;odata=verbose',
    'content-type': 'application/json;odata=verbose',
    'X-RequestDigest': $('#__REQUESTDIGEST').val()
    'success': function (data) {
    var d = data;
    dfd.resolve(d);
    'error': function (err) {
    dfd.reject(err);
    return dfd;
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • Share Invitation via Client Object Model

    On SharePoint Online Using the "Share" button in the upper right area of the page one can invite a person to join the site.  Then the person will get an email and provided the email address is linked to a Microsoft account that person may
    join the site.  Here are two questions:
    Is there a Client Object Model equivalent to the "Share" form, thus automating the process via an external web service?
    What is the expected delay and in fact what is the reason for the delay between when the person gets the email and when they can accept the invitation without receiving an error stating "That didn't work... [email address] can't be found in the [site
    url] directory. Please try  again later".  The user was able to log in after some time.
    Thanks

    You can use the Sharing.DocumentSharingManager class with the method UpdateDocumentSharingInfo method in CSOM. The delay maybe the fact that when you assign a group to share the document with, then a timer job is queued to generate an email for each user
    in the group. These are then queued to send the email out via whatever smtp server you have set up for SharePoint. This can cause some delays.
    CSOM Link:https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.sharing.documentsharingmanager.updatedocumentsharinginfo.aspx
    REST Link:
    http://sharepointfieldnotes.blogspot.com/2014/09/sharing-documents-with-sharepoint-rest.html
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • Unable to compile T1 Architecture and Simulation modelling tool

    Hello,
    I am trying to compile the T1 Simulation and Architecture modelling tool. The whole package is downloaded from opensparc.net
    As a requirement, i am using Solaris 10 on SPARC based machine with Solaris Studio 12.3 as the compiler.
    When i am running the "build_sas.sh full" script, it gives me an error:
    --- Building n1 in strand ---
    /opt/solarisstudio12.3//bin/CC -G -KPIC  -fast -xO5 -DNDEBUG -DRS_INLINE=inline -DRS_MPSAS_COMPATIBLE    -xarch=v9a -DHOST64BIT=1    -DN1_BOOTS10 -DMEMORY_SPARSE -I../../include/strand -I../../include/fw -I../../include/mmu -I../../include/asi -I../../include/core -I../../include/cpu -I../../include/system -I../../include/trap -I../../include/register  -I/scratch//sam-t1/devtools/64/shade/inc  -c -o obj64opt_n1/V9/V9_AsiReg.o V9/V9_AsiReg.cc
    CC: Warning: -xarch=v9a is deprecated, use -m64 -xarch=sparcvis instead
    "../../include/fw/Callee.h", line 98: Error: 'Riesling::operator new(unsigned long, Riesling::CalleeAllocator&)' may not be declared within a namespace.
    1 Error(s) detected.
    *** Error code 2
    make: Fatal error: Command failed for target `obj64opt_n1/V9/V9_AsiReg.o'
    Current working directory /scratch/sam-t1/src/riesling-cm/riesling/src/strand
    *** Error code 1
    make: Fatal error: Command failed for target `strand'
    the Callee.h file has the following declaration for line#97:
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    I did some Google search, and found that, "An allocation function shall be a class member function or a global function; a program is ill-formed if an allocation function is declared in a namespace scope other than global scope or declared static in global scope. [..]" (c++ - operator new inside namespace - Stack Overflow).
    Would appreciate any help or suggestion.

    I tried you last suggestion, by simply moving the "new" function before the namespace, but it gave me the following  Error: The prior declaration for operator new(unsigned long) has no exception specification.
    So, I naively just defined the new as below, just to see what happens:
      41  inline void* operator new( size_t size, CalleeAllocator& a) throw()
        42  {return a.alloc(size);
        43  }
    which, after compilation gives the following error:
    Error: std::bad_alloc is not in the prior exception specification
    The download link to the whole package is here: OpenSPARC T1
    At the end of the page, there is the download link to the OpenSPARC T1 Processor for Architecture and Performance Modeling Tools.
    below is the original Callee.h file: Line 97 is where the operator new is defined which appears to be outside of namespace Riesling.
    * ========== Copyright Header Begin ==========================================
    * OpenSPARC T1 Processor File: Callee.h
    * Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
    * The above named program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public
    * License version 2 as published by the Free Software Foundation.
    * The above named program is distributed in the hope that it will be
    * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    * General Public License for more details.
    * You should have received a copy of the GNU General Public
    * License along with this work; if not, write to the Free Software
    * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
    * ========== Copyright Header End ============================================
    #ifndef __Callee_h__
    #define __Callee_h__
    **  Copyright (C) 2002, Sun Microsystems, Inc.
    **  Sun considers its source code as an unpublished, proprietary
    **  trade secret and it is available only under strict license provisions.
    **  This copyright notice is placed here only to protect Sun in the event
    **  the source is deemed a published work. Disassembly, decompilation,
    **  or other means of reducing the object code to human readable form
    **  is prohibited by the license agreement under which this code is
    **  provided to the user or company in possession of this copy."
    #include "DataTypes.h"
    namespace Riesling {
    class CalleeAllocator/*{{{*/
    // CalleeAllocator is a helper class for implementing the callee_method() and
    // callee_function() functions that dynamically allocate a Callee object. This
    // class takes the burden of the coder for having to manage those dynamically
    // allocated objects and also avoids many calls to malloc().
      public:
        CalleeAllocator() : page(0), free((void**)1), full(0) {}
        ~CalleeAllocator()
          while (page)
        Page* help = page;
        page = page->next;
        delete help;
        void* alloc( uint_t size )
          void* cell;
          size = (size + sizeof(void*) - 1) / sizeof(void*);
          if ((free + size) > full)
        page = new Page(page);
        free = page->page;
        full = page->page + Page::SIZE;
          cell = free;
          free = free + size;
          return cell;
        static CalleeAllocator allocator;
      private:
        class Page
          public:
        enum { SIZE = 4096 };
        Page( Page* pntr ) : next(pntr) {}
        Page* next;
        void* page[SIZE];
        Page*  page;
        void** free;
        void** full;
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    #ifndef COMPILER_ABI_CHANGED
    inline void* gnu_vtbl_lookup( void* object, void* method )/*{{{*/
      // The GNU compiler makes a virtual method into an integer index into the
      // virtual table. It indicates this through bit 0 of the method being 1. If that
      // bit is set then we get the virtual table and index for the method. If the bit 0
      // is 0 then the method is a pointer to a function already.
    #ifdef __GNU__
      if (int(method) & 1)
        return (*(void***)object)[int(method) / sizeof(void*)];
      else
    #endif
        return method;
    template<class Object, class Return> union MethodToFunction0/*{{{*/
    // The templated union MethodToFunction0 converts a method pointer
    // to a function pointer. The SparcWorks compiler already transforms
    // method pointers to function pointers. For the GNU C++ compiler we
    // need to check for virtual functions and do a virtual table lookup.
      MethodToFunction0<Object,Return>( Object* object, Return (Object::*_method)() )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)();        // The method to convert to a function
      Return (*function)(void*);        // The converted function, the first argument is the this pointer
    template<class Return> class Callee0/*{{{*/
    // The Callee class holds the function pointer or method pointer that
    // represents the callee. The caller is a pointer to the Callee class.
      public:
        typedef Return (*Function)();
        typedef Return (*Method)(void*);
        Callee0<Return>( Function f )
          object(0),
          function(f)
        template<class Object> Callee0<Return>( Object* o, MethodToFunction0<Object,Return> m )
          object(o),
          method(m.function)
        Return call()
          return object ? (*method)(object) : (*function)();
      protected:
        void*      object;        // If object is 0 (NULL) then we have a function to call
        union             // Else a method need to be called.
          Method   method;
          Function function;
    template<class Return> Callee0<Return>* callee_function( Return (*f)() )/*{{{*/
    // callee_function() creates a Callee object of the function. The compiler
    // helps in figuring out the type signature ... hurra for templates:
    // Callee<void>* c = calee_function(f);
      return new(CalleeAllocator::allocator) Callee0<Return>(f);
    template<class Object, class Return> Callee0<Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
    // callee_method() creates a Callee object of the method. The compiler
    // helps in figuring out the type signature. The function requires an
    // object and the template enforces that the object and method are of the
    // same type. Don't cast object pointers. The method must exists, e.g.
    // inherited methods need to be replicated (fat interface). Virtual methods
    // are eradicated.
      return new(CalleeAllocator::allocator) Callee0<Return>(o,MethodToFunction0<Object,Return>(o,m));
    template<class Object, class Return, class Arg1> union MethodToFunction1/*{{{*/
      MethodToFunction1<Object,Return,Arg1>( Object* object, Return (Object::*_method)(Arg1) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1);
      Return (*function)(void*,Arg1);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        typedef Return (*Function)(Arg1);
        typedef Return (*Method)(void*,Arg1);
        Callee1<Return,Arg1>( Function f ) : object(0), function(f) {}
        template<class Object> Callee1<Return,Arg1>( Object* o, MethodToFunction1<Object,Return,Arg1> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1 )
          return object ? (*method)(object,a1) : (*function)(a1);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1> Callee1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> Callee1<Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(o,MethodToFunction1<Object,Return,Arg1>(o,m));
    template<class Object, class Return, class Arg1, class Arg2> union MethodToFunction2/*{{{*/
      MethodToFunction2<Object,Return,Arg1,Arg2>( Object* object, Return (Object::*_method)(Arg1,Arg2) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2);
      Return (*function)(void*,Arg1,Arg2);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2);
        typedef Return (*Method)(void*,Arg1,Arg2);
        Callee2<Return,Arg1,Arg2>( Function f ) : object(0), function(f) {}
        template<class Object> Callee2<Return,Arg1,Arg2>( Object* o, MethodToFunction2<Object,Return,Arg1,Arg2> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2 )
          return object ? (*method)(object,a1,a2) : (*function)(a1,a2);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(o,MethodToFunction2<Object,Return,Arg1,Arg2>(o,m));
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> union MethodToFunction3/*{{{*/
      MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>( Object* object, Return (Object::*_method)(Arg1,Arg2,Arg3) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2,Arg3);
      Return (*function)(void*,Arg1,Arg2,Arg3);
    template<class Return, class Arg1, class Arg2, class Arg3> class Callee3/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2,Arg3);
        typedef Return (*Method)(void*,Arg1,Arg2,Arg3);
        Callee3<Return,Arg1,Arg2,Arg3>( Function f ) : object(0), function(f) {}
        template<class Object> Callee3<Return,Arg1,Arg2,Arg3>( Object* o, MethodToFunction3<Object,Return,Arg1,Arg2,Arg3> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2, Arg3 a3 )
          return object ? (*method)(object,a1,a2,a3) : (*function)(a1,a2,a3);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_function( Return (*f)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(f);
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(o,MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>(o,m));
    #else
    template<class Return> class Callee0/*{{{*/
      public:
        Callee0<Return>() {}
        virtual ~Callee0() {}
        virtual Return call      () = 0;
    template<class Return> class CalleeFunction0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (*Function)();
        CalleeFunction0<Return>( Function f ) : Callee0<Return>(), function(f) {}
        Return call      () { return (*function)(); }
      protected:
        Function function;
    template<class Object, class Return> class CalleeMethod0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (Object::*Method)();
        CalleeMethod0<Object,Return>( Object* o, Method m ) : Callee0<Return>(), object(o), method(m) {}
        Return call      () { return (object->*method)(); }
      protected:
        Object* object;
        Method  method;
    template<class Return> CalleeFunction0<Return>* callee_function( Return (*f)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction0<Return>(f);
    template<class Object, class Return> CalleeMethod0<Object,Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod0<Object,Return>(o,m);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        Callee1<Return,Arg1>() {}
        virtual ~Callee1() {}
        virtual Return call      ( Arg1 a1 ) = 0;
    template<class Return, class Arg1> class CalleeFunction1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (*Function)( Arg1 );
        CalleeFunction1<Return,Arg1>( Function f ) : Callee1<Return,Arg1>(), function(f) {}
        Return call      ( Arg1 a1 ) { return (*function)(a1); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1> class CalleeMethod1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1 );
        CalleeMethod1<Object,Return,Arg1>( Object* o, Method m ) : Callee1<Return,Arg1>(), object(o), method(m) {}
        Return call      ( Arg1 a1 ) { return (object->*method)(a1); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1> CalleeFunction1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> CalleeMethod1<Object,Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod1<Object,Return,Arg1>(o,m);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        Callee2<Return,Arg1,Arg2>() {}
        virtual ~Callee2() {}
        virtual Return call      ( Arg1 a1, Arg2 a2 ) = 0;
    template<class Return, class Arg1, class Arg2> class CalleeFunction2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (*Function)( Arg1, Arg2 );
        CalleeFunction2<Return,Arg1,Arg2>( Function f ) : Callee2<Return,Arg1,Arg2>(), function(f) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (*function)(a1,a2); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1, class Arg2> class CalleeMethod2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1, Arg2 );
        CalleeMethod2<Object,Return,Arg1,Arg2>( Object* o, Method m ) : Callee2<Return,Arg1,Arg2>(), object(o), method(m) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (object->*method)(a1,a2); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1, class Arg2> CalleeFunction2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> CalleeMethod2<Object,Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod2<Object,Return,Arg1,Arg2>(o,m);
    #endif
    #endif

  • Unable to update rating (rating column) on host document using JavaScript Object Model API inside sharepoint hosted apps

    Hi Everyone,
    We are developing SharePoint hosted apps for Office 365, for that we are going
    to implement document rating functionality inside Sharepoint app. The host web contain document library (“Documents”) and from apps we need to rate each document. The rating functionality working fine with CQWP in team site  using
    JavaScript Object Model API.
    But the same code is not working inside apps and giving error:-
    If we are using app context than error will be:-
    "List does not exist.
    The page you selected contains a list that does not exist.  It may have been deleted by another user."
    And for Host context than error will be:-
    "Unexpected response data from server."
    Please help on this
    Please see below code..
    'use strict';
    var web, list, listItems, hostUrl, videoId, output = "";
    var videoLibrary = "Documents";
    var context, currentContext;
    var lists, listID;
    var list, parentContext;
    var scriptbase;
    (function () {
        // This code runs when the DOM is ready and creates a context object which is 
        // needed to use the SharePoint object model
        $(document).ready(function () {
            hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
            context = SP.ClientContext.get_current();      
            SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
        function sharePointReady() {
            scriptbase = hostUrl + "/_layouts/15/";
            // Load the js files and continue to the successHandler
            $.getScript(scriptbase + "SP.Runtime.js", function () {
                $.getScript(scriptbase + "SP.js", function () {
                    $.getScript(scriptbase + "SP.Core.js", function () {
                        $.getScript(scriptbase + "reputation.js", function () {
                            $.getScript(scriptbase + "sp.requestexecutor.js", execCrossDomainRequest);
        //Query list from hostweb
        function execCrossDomainRequest() {       
            //Load the list from hostweb
            parentContext = new SP.AppContextSite(context, hostUrl);
            web = parentContext.get_web();
            list = web.get_lists().getByTitle(videoLibrary);
            context.load(list, 'Title', 'Id');
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml('<View><Query><OrderBy><FieldRef Name="Modified" Ascending="FALSE"/></OrderBy></Query><RowLimit>1</RowLimit></View>');
            listItems = list.getItems(camlQuery);        
            context.load(listItems);
            context.executeQueryAsync(onQuerySucceeded, onQueryFailed);
        //Process the image library
        function onQuerySucceeded() {       
            var lstID = list.get_id();
            var ctx = new SP.ClientContext(hostUrl);       
            var ratingValue = 4;
            EnsureScriptFunc('reputation.js', 'Microsoft.Office.Server.ReputationModel.Reputation', function() {      
            Microsoft.Office.Server.ReputationModel.Reputation.setRating(ctx, lstID, 1, ratingValue);       
            ctx.executeQueryAsync(RatingSuccess, RatingFailure);
        function onQueryFailed(sender, args) {
            alert('Failed' + args.get_message());
        function failed(sender, args) {
            alert("failed because:" + args.get_message());
        function RatingSuccess() {
            alert('rating set');
            //displaystar();
        function RatingFailure(sender, args) {
            alert('Rating failed : : ' + args.get_message());
        //Gets the query string paramter
        function getQueryStringParameter(paramToRetrieve) {
            var params;
            params = document.URL.split("?")[1].split("&");
            for (var i = 0; i < params.length; i = i + 1) {
                var singleParam = params[i].split("=");
                if (singleParam[0] == paramToRetrieve) return singleParam[1];
    Thanks & Regards
    Sanjay 
    Thank you in advance! :-)
          

    Hi,
    According to your post, my understanding is that you want to update list column in SharePoint hosted apps using JavaScript Client Object Model.
    Based on the error message, it seems not retrieve the list object in context. I suggest you debug the code step by step using Internet Explorer Developer Tools to
    find the problem.
    Here are some demos about using JavaScript Client Object Model in SharePoint hosted app:
    http://blogs.msdn.com/b/officeapps/archive/2012/09/04/using-the-javascript-object-model-jsom-in-apps-for-sharepoint.aspx
    http://sharepoint.stackexchange.com/questions/55334/how-to-access-list-in-sharepoint-hosted-app
    http://www.dotnetcurry.com/showarticle.aspx?ID=1028
    Best regards
    Zhengyu Guo
    TechNet Community Support

  • Import TermSet CSV using client side object model

    Hello,
    I want to import CSV in TermStore using client side object model. Unfortunately there is no ImportManager here.
    Is there any other way (Other than reading from CSV and adding term one by one to term store)?
    Regards, Nanddeep Nachan

    Hi,
    Here is a tool(server-side) from codeplex for your reference:
    SharePoint 2010 CSV Bulk Taxonomy TermSet Importer/Exporter
    If you want to import termsets  from CSV in Client-Side, we can refer the tool above.
    You can develop a windows form application and use .Net Client Object Model to achieve it. The following articles is about how to operate the termset using Client Object Model for you reference:
    http://sundarnarasiman.net/?p=87 (Download)
    http://code.msdn.microsoft.com/office/SharePoint-2013-Synchronize-d40638d1/sourcecode?fileId=72317&pathId=166025385
    http://www.c-sharpcorner.com/Blogs/10853/how-to-create-a-term-set-for-the-specified-group-using-clien.aspx
    Thanks,
    Dennis Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Dennis Guo
    TechNet Community Support

  • What is Sharepoint client side object model ?

    What is Sharepoint client side object model ?

    The client-side object model (CSOM) provides client-side applications with access to a subset of the SharePoint Foundation server object model, including core objects such as site collections, sites, lists, and list items. As described in Data Access for
    Client Applications, the CSOM actually consists of three distinct APIs—the ECMAScript object model, the Silverlight client object model, and the .NET managed client object model—that target distinct client platforms. The ECMAScript object model and the Silverlight
    client object model provide a smaller subset of functionality. This is designed to enhance the user experience, because it minimize the time it takes Silverlight applications or JavaScript functions running in a Web page to load the files required for operation.
    The .NET managed client object model provides a larger subset of functionality for standalone client applications. However, these APIs provide a broadly similar developer experience and work in a similar way.
    You can write both managed client object model code and JavaScript Client Object model code in Visual Studio. As an example, you can create a console application having managed client object model code. Similarly, you may create a Visual Web Part and have
    JavaScript client object model code in it. The JavaScript client object model code can also be directly written inside the SharePoint Designer as well.
    Blog | SharePoint Learnings CodePlex Tools |
    Export Version History To Excel |
    Autocomplete Lookup Field

  • Simple Object Modelling and Java IDE for OSX?

    I haven't been technical for a while and I want to refresh my Java and object modelling skills. I'm looking for two things. If I can find both in the same environment so much the better.
    1) A basic UML modelling tool. All I really care about is describing a medium size object model: classes, sub-classes, attributes, relations, etc.
    2) A basic Java IDE. Don't need EJB or anything complex. Just want to compile run and debug simple Java programs.
    I down loaded Net Objects but it seems like overkill for what I want. I looked on some open source sites but almost nothing was native to OSX it all ran under Windows or required a Java virtual machine. Actually I guess that's another question, is there already a Java virtual machine as part of OSX or do I need to download one and if so which would be the best.
    I'm willing to spend a few $$ but free stuff would be better and no more than $50. So far I found one product native to OSX but the starting cost was $400+ for a five person license.

    In case anyone has the same question, I just found this very nice tool on the Apple web site called Visual Paradigm for UML:
    http://www.apple.com/downloads/macosx/development_tools/visualparadigmforumlente rpriseedition.html
    I'm still getting to know it but this is exactly what I was looking for. Fairly easy to use if you already know OO but not as complex as some other tools and works well on the Mac.

  • Mapping heterogenous object models

    I have two different object models that contain similar information. My ultimate goal is to transfer the data from one into the other. Is there a utility to can facilitate this? An O/O mapping utility?
    I have some experience with O/R mapping utilities, like hibernate and castor, and I believe that the functionality that I require is something similar. Somehow a mapping file would exist that says "this goes there and that goes there" and then maybe an engine which takes care of the object instanciation and calls to the getters and setters.
    Is there some tool out there that does something like this? Any advice would be greatly appreciated. Have a good day.
    T. Urtle Hawk

    How are you 'transferring' the objects? In memory? Over a network?
    If the former, then there probably is not a generic tool. You could use reflection and a configuration file to detail the mappings. It would probably only involve a handful of classes.
    If sending over the network, serialize to XML and writer parsers on both ends (I am assuming that since the data is similar, your serialization routines will produce a common output). Or use JAXB and create a schema for each object.
    There may be a tool to handle object mappings over a network. I'd be surprised to see one deal with mappings within a JVM. But then again, I don't get out much.
    - Saish
    "My karma ran over your dogma." - Anon

  • How to execute powershell .ps1 file using sharepoint object model

    Hi All,
    Can some one please guide me, how can i execute .ps1 file with arguments using c# under sharepoint object model?
    MercuryMan

    Code example:
    RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
    Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
    runspace.Open();
    RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
    Pipeline pipeline = runspace.CreatePipeline();
    //Here's how you add a new script with arguments
    Command myCommand = new Command(scriptfile);
    CommandParameter testParam = new CommandParameter("key","value");
    myCommand.Parameters.Add(testParam);
    pipeline.Commands.Add(myCommand);
    // Execute PowerShell script
    results = pipeline.Invoke();
    See these links for more information:
    http://stackoverflow.com/questions/527513/execute-powershell-script-from-c-sharp-with-commandline-arguments
    http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C
    Blog | SharePoint Learnings CodePlex Tools |
    Export Version History To Excel |
    Autocomplete Lookup Field

Maybe you are looking for

  • Photo management, once and for all...help!

    This will be an eye-roller for some of you, but my thousands of photos have become a jungle and I don't understand how to manage them. -iPhoto -photo stream -camera uploads Where is "ground zero" for all of my photos - is there one? -  and how can I

  • Why can't I find Painter X3 in the bridge CS5 "open with " command list?

    I just installed Painter X3 and can't find it in the "open with" list. Painter X was there along with Firefox for PSD files, so how do I add it?

  • How to delete photostream photos from iphone?

    how to delete photostream photos from iphone4?

  • Pass report values to another dashboard?

    HI all, I have two reports say, Report1, Report2 in a Dashboard. Report1 is in one page and Report2 in another page of that dashboard. Say Report2 has these columns. gl company |||||||| gl account |||||||||||product||||||||||||||| balance User has to

  • Need HELP on upgrading to os 4.5!!!

    ok..this is my like second time trying to updrage my blackberry....my problem is that i just intalled my desktop manger 4.3, then i upgraded to 4.6...after that is done i deleted the vender.xml..after that i connect my blackberry on my computer and a