Opportunity Team - Opportunity Role

Hi,
We're trying to make the Opportunity Team RI > Opportunity Role field to be auto populated when a user is added, by having this default value:
JoinFieldValue('<User>',[<UserId>], '<Division>')
NOTE: We're using Division field from User record type for testing purpose only.
This does not work though.. the Opportunity Role field is not getting populated. We tried putting a constant string to the default and it works.
Any suggestions?
Thanks,
Jasmin

Whenever a new record is created, fields that have a default setting are immediately evaluated before the new record form is displayed to the end-user. In the case of Opportunity Team, if you specify a literal value for the role field, it is immediately displayed (as you have tested). That is because the literal is a constant which is already available.
If an expression such as JoinFieldValue('<User>',[<UserId>], '<Division>') is specified, the application fails to resolve the Division because the UserId does not exist yet. Remember, the application attempts to resolve default values as soon as a user opens the Opportunity Team dialog and BEFORE a team member is selected. Specifying post-default = Y will not work either because the default value that was calculated and stored in the application memory is null.
This is how defaults work. The only way a role can be defaulted is using webservices because the web service can retrieve a user's attributes and insert the attribute as a literal.
Edited by: PMOnDemand on Mar 24, 2010 12:42 PM
Edited by: PMOnDemand on Mar 24, 2010 12:43 PM

Similar Messages

  • Sap-abap Technical Team Leader Roles and Responsibilities

    Can u give  me Sap-abap Technical Team Leader Roles and Responsibilities.

    Yes I can, but I don't think I'll share my experience with you.
    Here's a tip for you though, how about only applying for jobs you are skilled at and not try to lie yourself into a job.
    Warm regards, Rob Dielemans

  • Basis Team Composition / Roles and Responsbilities

    Hi All:
    I am wondering if there is information available on standard Basis team composition and associated roles and responsbilities.
    Here are my thoughts on some of the key roles we would need: Basis Project Manager, Basis Lead Consultant, Basis Administrator, Environment Build Leads, SAP Transport Manager, Oracle Admin, Data stage Admin...
    Any help will be greatly appreciated.
    Thanks in advance,
    Anwer

    >
    Anwer Nomani wrote:
    > Hi All:
    >
    > I am wondering if there is information available on standard Basis team composition and associated roles and responsbilities.
    >
    > Here are my thoughts on some of the key roles we would need: Basis Project Manager, Basis Lead Consultant, Basis Administrator, Environment Build Leads, SAP Transport Manager, Oracle Admin, Data stage Admin...
    >
    > Any help will be greatly appreciated.
    >
    > Thanks in advance,
    >
    > Anwer
    There are sites that have a person devoted to pressing the "Import request" button?  I want to work there.  I like how your BASIS team has 8 people with only 2 of them doing actual BASIS haha.  And given that of your 2 BASIS people, one is a consultant (i.e. a person who gives professional or expert advice) that leaves you with 1 person doing all the work...

  • Invite to Apple Developer Team (member role - big problem)

    We have finished and approved an app for a big client that have an Apple Developer Company account (yes, they have many app just published on Apple Store).
    Now i have to build the app but they only send me an invite to Developer Team with a member role (i can only download provisioning certificates no other).
    The big problem is: how to use their P12 certificate if i can not build from XCode?
    Please it's very urgent!
    Really thanks.

    It sounds like you need to talk to the person at your client's company who is responsible for creating iOS certificates. Ask them to create an App ID (if it doesn't already exist), provision files, and push certificates. You'll need to obtain the p12 certificates and passwords in order to build the app. I don't think you can do that with your member sub account.

  • SD Customization team member --Role and Profile

    Dear All,
    I want to assign the roles to our SD customize person. Please tell me which role i should give him so that he can only customize its own area (SD). Same issue for FI customize person.
    Currently i gave sap_all to them and they disturb each other work.
    Thanks
    UsmanRana

    HI Usman,
    Check this site.
    http://sapecc.com/sox_sod/sod_matrix_sd.htm
    In the SOD matrix, the list of transactions atre listed for each responsibility. You can create single roles for each responsibilitry and assign it to your SD consultant.
    I am sure u would be aware of the procedure for creation of roles via PFCG transaction.
    Br,
    Sri
    Award points if helpful.

  • Opportunity Team Assignment Rule and Automated Task Owner

    Hi,
    We have a requirement that when an Opportunity is created, the Opportunity Team assigned will be based on the Owner of the record. We created a "test" assignment rule wherein the:
    * Team Assignment: (Example) John Locke (Manager), Jack Shephard (Coordinator)
    * Rule criteria: Opportunity Owner First Name = Sawyer, Opportunity Owner Last Name = Ford (Question 1: I can't find Owner id field from the list... that would have been better..)
    This works when the Reassign Opportunity checkbox is ticked during record creation and I needed to refresh the record to see the added users in the Team. (Question 2: Is that how it really works? Also, the users added in the Team does not have an Opportunity Role assigned... This field is important to my requirement..)
    We have 3 Opportunity Team Opportunity Roles: Manager, Coordinator, Sales Rep. We also have a Sales Process based on the Opportunity Type wherein each Sales Stage has automated tasks for it. We assigned the "Opportunity Team Role - Coordinator" as the Owner of the tasks.
    This part does not work because when you create the opportunity record, the user in the Team is only the Owner (creator of the record = Sawyer Ford)m which is also assigned as the Owner of the Activities created based on Sales Stage. What should happen is that the Owner of the Activities should be "Jack Shephard" (Coordinator from the assignment rule).
    Question 3: How can I assign Opportunity Team Role in the assignment rules?
    Question 4: It seems like the Sales Stage fires first (which creates the automated tasks) before the assignment rule fires....
    Help please...
    Thanks in advance,
    Jasmin

    Hi Abhijit,
    Indeed as you stated, the team assignment can only be self-assigned. Meaning that a manager cannot assign a team assignment to another member. Customizing this feature could be quite complex and time/money consuming. If you decide to go that way, then it
    is out of my knowledge.
    Using the "reassign task" feature will not help because once reassigned, the manager will not be able to change the assignment again for another resource.
    I'd rather suggest to put in place a process together with the project manager who is actually managing assignments in the project with Project Pro. For example the manager can access the project plan and should only update his resources on assignments but
    not the project itself.
    Hope this helps,
    Guillaume Rouyre, MBA, MVP, P-Seller |

  • Role of BW Team in BWA Installation and Operations

    I am the lead BW team member at my company.  We will likely be making our first BWA purchase in the next month or two.  I have been asked by my boss to determine what the BW team's role will be in the installation and on-going operation of BWA.  Unfortunately, I have not been included in a single BWA meeting to this point, so I am really in the dark.  I am hoping that some kind soul on this forum, who has already installed BWA, would be kind enough to share some information with me.  I am not looking for a tremendous amount of detail ... just enough to help decide what kind of education and training the BW team members will need to be able to perform our duties.
    Thank you!
    Laurie Reid

    Hi,
      You can refer to the following links for details on BWA installation,
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e1f6cc7d-0c01-0010-5a93-8def1fad5ea3?quicklink=index&overridelayout=true
    How to Install SAP BI Accelerator
    http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/103b0615-36a7-2a10-a78e-86de1456bec2
    BWA sample use case:
    http://www.infosys.com/SAP/thought-leadership/Documents/BI-accelerator.pdf
    http://www.sdn.sap.com/irj/sdn/bwa?rid=/library/uuid/23fd0dc2-0d01-0010-448e-bf3cc1aa08b6
    Regards,
    Balajee

  • Access Control View All Role

    Hello Experts,
    We are currently implementing GRC Compliant User Provisioning for the client. Apart from the configuration team with role AEAdmin, we have few client experts to look into the sandox system and understand the cnfiguration we made is as per the requirement.
    In doing so, they tend to modify some or other configuration at times knowingly/ unknowingly which lead us to longer debugging time.
    Is there a way I can create a UME role with only View Configuration Action to avoid such circumstances.
    Thanks
    Rashmi

    Hi Rashmi,
    1- Assign following actions to Role:-
    ViewReject
    ViewHold
    ViewCopyRequest
    ViewCreateRequest
    ViewSearchRequestAll
    ViewRequstAuditTrail
    ViewForwardRequest
    ViewReRoute
    ViewAccessEnforcer
    ViewSelectPDProfiles
    ViewMitigation
    ViewRiskAnalysis
    ViewSelectRoles
    ViewReaffirms
    ViewRiskAnalysis
    ViewSelectRoles
    ViewReaffirms
    ViewApprove
    ViewApproverDelegation
    Using this action You can saw following Tabs in Access Enforcer
    1- Access Enforcer
            -Requests For Approval
            -Create Request
            - Search Requests
            -Requests On Hold
            -Approver Delegation
            -Copy Request
            -Search Request Audit Trail 
            -Role Reaffirms
    2-Informer Tab
            -Services Level For Requests
            -Conflicts And Mitigations
            -Request By Roles And Role Owners
            -List Roles And Owners
            -Requests By PD/Structural Profiles
    3-Configuration Tab
            -Monitoring
                      -System Log
                      -Application log
           - Upgrade
    Rest of the Tabs in Configuration is running along with Modify action in  AE5.2.
    2- Some new actions are added by SAP GRC RND Team  In Compliant User Provisioning 5.3( Access Enforcer 5.3) for only view the Initiators,Stages,Path,Connectors,Provisioning,HR Trigger,Userdefaults Etc.
    In AE 5.3 independent  View and Modify actions are available
    for each tab like for initiators ,Connectors Ect, But this type of provision is not available in AE 5.2.
    Regards,
    Jagat

  • Roles and Role List

    Hi all,
    Please explain me about the Roles and Role List used in Projects...
    Thanks
    Dinesh

    Hi
    Roles are using in Projects for two goals -
    A) a basis for project-based security. You might create roles as project roles and assign people to the role in a project. For example, project manger, project admin, project billing person, etc. You then might configure the security access to forms and functions of specific roles.
    B) when implementing Proejct Resource Management, the project roles may be scheduled on a project and serve as a template for resource demand. In that case you might configure the team member role on a project, such as competencies, job information, and security.
    You might want to review Oracle Projects Fundamentals and Projects Implementation Guide for more details.
    Dina

  • Opportunity Team Roles

    Hello,
    On the Opportunity Team record set, there are two fields that gets displayed, user role and team role. User role is the role defined in user administration and team role is the role specific to the opportunity.
    Does the team role drive any record visibility functionality other than presenting an email address for the user in the Send Email action on the WF ? Assigning team role is not available in the assignment rule definition as well.
    Thanks

    Robin, team role does not drive any record visibility.

  • Opportunity Team Role equal to Account Team Role

    In CRMOD, I know that within the Company profile, and have the following check box checked: Enable Parent Team Inheritance, then the User Role is carried down. Example, I have an account with an account team. I then go and create an opportunity from that account and the team is carried over, the roles are also carried over.
    What I'm trying to discover on how to do is how to have that same feature for Team Roles. Would this be a workflow, or a setting that needs to be enabled, or some type of default value?
    Any advice would be appreciated.
    Thanks in advance!

    Prolly should ask over in https://forums.oracle.com/forums/category.jspa?categoryID=162

  • Help Please - Activity Report

    Creating an Activity Report for a few sub-teams that role into one team. The issue is that the Activity Report allows me to select fields that I can filter on (like Reports to and etc) but I need to filter on the Opportunity Owner's Managers. Basically, we have way toooooo many Opportunity Owners and they are not the ones that own the Activities. We want to show the Activities, Owners of Activities, Opportunities, Owners of Opportunities, and the managers of the Opportunity Owners so we can filter on this field.
    Want to only show Opportunities that meet this critieria.. how do I do this?
    Owned by user is on the Activity and not on the Opportunity!
    Thanks,
    Anita

    Hi Murali/sap gurus,
    already i have posted 12 line items in KB21N after saving user wants to post multiple line items in the same(user wants to upload the data into t.code KB21N). how to execute this report? is it possible to upload? what are the imp fields in KB21N
    adv thx
    venkat
    Message was edited by:
            Venkata Krishna

  • Failing to start spiceworksRedis: service spiceworksredis was not found

    I had a couple of people on SW and a few elsewhere request that I create a video to show my home office and how I have it set up, so, after a few months I decided to do so. Please note that this was totally unscripted so I did make a few verbal errors, I caught them after the fact and didn't feel like redoing the recording to correct these mistakes. This was also a great opportunity to "play" with my new video camera.Lastly, I am NO actor and absolutely hate seeing myself on cam! ;--)https://www.youtube.com/watch?v=HYyzFJXfWjQ&feature=gp-n-y&google_comment_id=z12bvdkbim2jfbq...

    Team Folder in the past was managed by administrators. Administrator can create, edit, delete team folders. The team folder can be published to a group of users, including Active Directory group. It is very convenient to share files and folders with a group of users in the same team. As team groups bigger, it may not be convenient for administrator to manage all the team folders. So it makes sense for administrator to assign some users to be able to manage team folder that they own themselves. Role Manager It usually starts with the role manager by creating a role with Add/Edit/Delete permissions and assign it to users or Active Directory groups. Manage Team Folder The user who are in the private team folder role will be able to manage team folders without seeing all the team folders from everyone. Here is a YouTube Video about...

  • [Forum FAQ] A content management tool with dashboard based on SharePoint List

    1. 
    Scenario:
    The SharePoint OOTB List has saved us a lot of time on managing mess data. It provides three forms to create/view/edit items, the ability to save the views we want with some specific filtering and sorting condition, versioning for easy restoring, and we
    can make it advanced with workflow contains the specific business logic.
    However, if there is a need for better user experience, interacting with the public APIs and a bit of script to customize the web page would be required.
    Suppose there is a requirement like this:
    We need a content collection tool which collects ideas from contributors, the newly ideas will be reviewed by reviewers.
    We may need to filter the list in a convenient way, get the wanted result with the data from the list and display in a chart or rank list. 
    We can add some buttons in Metro style to display the counting result of the data from the list dynamically. When we click them, the list will be filtered and sorted to display a friendly set of items. Also, we need to display a trend of the mess data graphically
    in some beautiful charts.  If we want to find out some outstanding contributors, top contributor board would be more comfortable than the top N items in the OOTB list view.
    The page would look like this:
    2. 
    Introduction:
    Engineers will come up with some ideas in the daily job and write a content to enlighten others. Reviewers will help to review ideas or contents and publish the contents if qualified.
    The complete process looks like this:
    As we can see, only the approved idea can be written as a content and only the approved content can be published.
    2.1
    How it works
    We build the whole tool in one page. All ideas and contents will be saved in a custom list. This is how it looks like:
    There are three parts in this page:
    1       
    2       
    2.1       
    2.1.1       
    Top menu
    The top menu contains three elements:
    A Drop Down menu for filtering data by team, it will refresh the other two parts with the filtered data:
    A hyperlink “STATISTIC” links to a PowerBI report whose data source is the custom list.
    A hyperlink “FEEDBACK” for collecting feedbacks:
    The feedbacks will be saved in another list:
    2.1.2       
    Information menu
    This part will display the calculated data retrieved from the list within tiles, chart and ranking list.
    The tiles can be clicked to filter and refresh the list view.
    2.1.3       
    List view
    A list stores all ideas and contents with the properties needed. It can be filtered by the Top menu and Information menu.
    The customization on the OOTB custom list template makes it more powerful and more suit for this scenario:
    1. An item leveled comment feature (based on OOTB Tags & Notes feature) for other users make comments to an idea or content:
    2. Title column: When there is no attachment in the current item, it redirects to the default DisplayForm page. If there is, it will open the attachment (usually a .docx file) in Word Online in a new tab.
    3. ECB menu: Add some custom shortcuts for popular actions:
    4. A hyperlink column stores the hyperlink points to the website where the content is published to.
    3.   
    How to achieve it
    This solution will be hosted in SharePoint Online environment, so we do all the job using JavaScript, REST API and Client Object Model.
    The Drop Down menu, tiles, rank list are generated with some HTML+CSS.
    The Trend Chart, we take advantage of the Combo chart in the Google chart library.  
    The list view is hosted in a <iframe> which can be easily filtered and refreshed by just passing a generated URL with query string.
    For the customization on the list view and the ECB menu, JSLink with Client Object Model would be OK.
    3.1
    Specific to every part
    3.1.1       
    Top menu
    3.1.1.1 
    Drop Down menu for retrieving filtered data and refreshing the display of the related controls
    When user selects a team here, there will be a request sent out for retrieving items of the list. By default, the limit is 100 when using REST API to get list items, so we can append a “$top=1000” to require more items from server.
    Code snippet like this:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items?$top=1000",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log("getListItems succ");
    console.log(data);
    error: function (data) {
    alert("getListItems error");
    //failure(data);
    Then we will get the “data” as a JSON format string, it contains all the values we need from the list:
    We can get the values we want like this:
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    for(var ii=0; ii<len; ii++)
    var team = data.d.results[ii].Team;
    var month = data.d.results[ii].Month;
    As we need to know the counts of each type of ideas or contents, we use an array for saving the counters:
    //ary to store all counters for tiles: all/pendingIdea/pendingContent/my/approvedIdea/approvedContent
    var aryAllCounters = [0,0,0,0,0,0];
    for(var ii=0; ii<len; ii++)
    //get pendingIdeaCount
    if(data.d.results[ii].Statuss === 'Pending')
    aryAllCounters[1]++;
    Once all the numbers are ready, we can do the refreshing.
    As the list view page is hosted in a <iframe>, all we need to do is passing a constructed URL with query string:
    url_team = URL + "?FilterField1="+FIELD_MYTEAM+"&FilterValue1=" + sel_val;
    $iframe.attr('src', url_team);
    3.1.1.2 
    Hyperlink for popping up a dialog to collect feedbacks
    The feedback dialog hosts another page which contains two buttons and one text area.
    The HTML code of the FEEDBACK button:
    <a id="feedback" href="#" onclick="javascript:openDialogBox('../SitePages/Feedback.aspx');">FEEDBACK</a>
    The openDialogBox() function:
    function openDialogBox(url){
    var options = SP.UI.$create_DialogOptions();
    options.url = url;
    options.height = 130;
    options.width = 425;
    options.title = "Feedback";
    SP.UI.ModalDialog.showModalDialog(options);
    In the Feedback.aspx page, when user click submit button, we will save the content of the text area into the feedback list:
    function addListItem()
    this.clientContext = new SP.ClientContext.get_current();
    this.oList = clientContext.get_web().get_lists().getByTitle('Feedback');
    var itemCreateInfo = new SP.ListItemCreationInformation();
    this.oListItem = this.oList.addItem(itemCreateInfo);
    //set person field
    var userValue = new SP.FieldUserValue();
    //userValue.set_lookupId(this.currentUser.get_id());
    userValue.set_lookupId(_spPageContextInfo.userId);
    oListItem.set_item('Provider', userValue);
    //Sets the specified field value
    oListItem.set_item('Title', str);
    //datetime field
    var currDate = new Date();
    oListItem.set_item('Submit_Time',currDate);
    oListItem.update();
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded_add), Function.createDelegate(this, this.onQueryFailed));
    3.1.2       
    Information menu
    3.1.2.1 
    Tile shortcut
    In the click event of the tiles, the code will pass a generated URL with query string to the <iframe>:
    //filter list only
    $tile.click(function(){
    //distinguish tiles by id
    var v = $(this).attr('id');
    switch(v)
    case S_MY_CONTENT:
    url_team1 = URL + "?FilterField1="+FIELD_COMPOSER+"&FilterValue1=" + currentUsername;
    break;
    case S_PENDING_IDEA:
    url_team1 = url_team + "&FilterField2="+FIELD_STATUS+"&FilterValue2=Pending&FilterField3="+FIELD_IDEATYPE+"&FilterValue3=Idea";
    break;
    $iframe.attr('src', url_team1);
    3.1.2.2 
    Trend chart
    The chart will be initialized with the numbers by month stored in a 3D array:
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawVisualization);
    function drawVisualization(ary)
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable(ary);
    var view = new google.visualization.DataView(data);
    view.setColumns([0, 1,
    { calc: "stringify",
    sourceColumn: 1,
    type: "string",
    role: "annotation"
    2]);
    // Create and draw the visualization.
    var ac = new google.visualization.ComboChart(document.getElementById('chart1'));
    ac.draw(view, {
    //legend: 'top',
    legend: {
    title : '',
    //width: 0,
    //height: 285,
    vAxis: {title: "", format:'#',viewWindowMode:'explicit',
    viewWindow:{
    min:0
    },ticks: ticks
    //hAxis: {title: ""},
    lineWidth: 4,
    bar: {groupWidth: "60%"},
    seriesType: "bars",
    series: {1: {type: "line"}},
    chartArea:{
    colors: ['#A4C400', '#F9A13B']
    3.1.2.3 
    Top contributors rank list
    When retrieving list items, we can get the “AuthorId” which represents the id of the user in the siteUserInfoList. We run another request to retrieve all items in the siteUserInfoList which stores the username with the URL of profile.
    Then we can use a hash table(provided by jshashtable.js) to store the user id, username and profile URL:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/siteUserInfoList/Items",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log(data);
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    var ht_authors = new Hashtable();
    for(var ii=0; ii<len; ii++)
    if(authorSet.contains(data.d.results[ii].Id))
    if(data.d.results[ii].Picture != null)
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|'+data.d.results[ii].Picture.Url);
    else
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|');
    console.log("ht_authors.keys(): "+ht_authors.keys());
    console.log("ht_authors.values(): "+ht_authors.values());
    error: function (data) {
    alert("error");
    //failure(data);
    3.1.3       
    List view
    For the Comment button, custom title link and the custom published link of each item, we can use JSLink to achieve.
    Comment button: It is supposed to be the OOTB “Type” column, I change the icon and modify the click event of it to pop up a comment dialog which take advantage of the OOTB “Tags&Notes” feature;
    Custom Title link: As there will be two situations of an item: has attachment or not. We will need to run a request to get the URL of attachment and change the hyperlink of the Title field accordingly:
    (function () {
    // Create object that have the context information about the field that we want to change it output render
    var linkFiledContext = {};
    linkFiledContext.Templates = {};
    linkFiledContext.Templates.Fields = {
    //"Attachments": { "View": AttachmentsFiledTemplate }
    "LinkTitle": { "View": TitleFieldTemplate },
    "Published_x0020_Link": { "View": PublishedLinkFieldTemplate },
    "DocIcon": { "View": DocIconFieldTemplate },
    "MyTeam": { "View": MyTeamFieldTemplate }
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(linkFiledContext);
    function DocIconFieldTemplate(ctx)
    var htmlStr = "";
    var listId = ctx.listName;
    var itemId = ctx.CurrentItem.ID;
    var s = listId + "," + itemId;
    htmlStr += "<img width='16' height='16' class=' ms-draggable' alt='Comment' src='"+_spPageContextInfo.webAbsoluteUrl+"/Shared%20Documents/img/comment-icon.png' border='0' ms-draggableragId='0' onclick='CommentIcon(\""+ s +"\")'></img>";
    return htmlStr;
    function CommentIcon(s)
    var listId = s.split(',')[0];
    var itemId = s.split(',')[1];
    var url=_spPageContextInfo.webAbsoluteUrl+"/_layouts/15/socialdataframe.aspx?listid="+listId+"&id="+itemId+"&mode=1";
    console.log(url);
    openCustomDialog(url,"Comment",650,520);
    function openCustomDialog(pageUrl,title,width,height)
    SP.UI.ModalDialog.showModalDialog({
    url: pageUrl,
    width: width,
    height: height,
    title: title,
    dialogReturnValueCallback: function (result){
    if(result== SP.UI.DialogResult.OK)
    parent.window.location.href=parent.window.location.href;
    function PublishedLinkFieldTemplate(ctx)
    //console.log(ctx);
    var htmlStr = "";
    var itemPublishedLink = "";
    var itemPublishedLinkDesc = "";
    if((ctx.CurrentItem.Published_x0020_Link != ''))
    itemPublishedLink = ctx.CurrentItem.Published_x0020_Link;
    itemPublishedLinkDesc = ctx.CurrentItem["Published_x0020_Link.desc"];
    htmlStr = "<a href='" + itemPublishedLink + "' target='_blank'>" + itemPublishedLinkDesc + "</a>";
    return htmlStr;
    function MyTeamFieldTemplate(ctx)
    var htmlStr = "";
    var itemMyTeam = "";
    if((ctx.CurrentItem.MyTeam[0] != undefined) && (ctx.CurrentItem.MyTeam[0] != null))
    itemMyTeam = ctx.CurrentItem.MyTeam[0].lookupValue;
    htmlStr = itemMyTeam;
    return htmlStr;
    function TitleFieldTemplate(ctx) {
    console.log(ctx.CurrentItem);
    var itemId = ctx.CurrentItem.ID;
    var itemTitle = ctx.CurrentItem.Title;
    var listName = ctx.ListTitle;
    var siteUrl = _spPageContextInfo.webAbsoluteUrl;
    var listUrl = _spPageContextInfo.webAbsoluteUrl + "/Lists/" +listName;
    var fileNames = getAttachmentsNames(listName, itemId);
    console.log(fileNames);
    var fileNameAry = fileNames.split("|");
    var htmlStr = "";
    //check the attachment existence
    if(fileNameAry[0] != '')
    for(var j = 0; j < fileNameAry.length; j++)
    var fileName = fileNameAry[j];
    var s1 = "<a class=\"ms-listlink ms-draggable\" onmousedown=\"return VerifyHref(this, event, '1', 'SharePoint.OpenDocuments.3', '1";
    //1``https://microsoft.sharepoint.com/teams/spfrmcs
    var s2 = "/_layouts/15/WopiFrame.aspx?sourcedoc=";
    //2``/teams/spfrmcs/Lists/Content%20Pool
    var s3 = "/Attachments/";
    //3``137
    var s4 = "/";
    //4``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s5 = "&action=default'); return false;\" href=\"";
    //5``https://microsoft.sharepoint.com/teams/spfrmcs/Lists/Content Pool
    var s6 = "/Attachments/";
    //6``137
    var s7 = "/";
    //7``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s8 = "\" target=\"_blank\" DragId=\"1\">";
    //8``Highlight the list tab in Quick Launch when the list view changes
    var s9 = "</a>";
    var s = s1+siteUrl+s2+listUrl+s3+itemId+s4+fileName+s5+listUrl+s6+itemId+s7+fileName+s8+itemTitle+s9;
    htmlStr += s;
    //console.log(htmlStr);
    if (j != fileNameAry.length - 1)
    htmlStr += "<br/>";
    //if no attachments, set the <a> point to displayForm
    else
    htmlStr += "<a class='ms-listlink ms-draggable' onclick='EditLink2(this,28);return false;' onfocus='OnLink(this)' href='" + siteUrl + "/_layouts/15/listform.aspx?PageType=4&ListId=%7BE54A4FBB%2DDDC2%2D4F7E%2D8343%2D8A1C78757CF4%7D&ID=" + itemId + "&ContentTypeID=0x010079A1D928FF77984C80BFEF1D65C3809F' target='_blank' DragId='0'>" + itemTitle + "</a>";
    return htmlStr;
    function getAttachmentsNames(listName,itemId) {
    var url = _spPageContextInfo.webAbsoluteUrl;
    var requestUri = url + "/_api/web/lists/getbytitle('" + listName + "')/items(" + itemId + ")/AttachmentFiles";
    var str = "";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    for (var i = 0; i < data.d.results.length; i++)
    if(i != 0)
    str += "|";
    str += data.d.results[i].FileName;
    error: function (err) {
    //alert(err);
    return str;
    3.2
    How to make them work together
    When selecting an option in the Drop Down menu, the Information menu and the List view will be refreshed separately.
    When clicking the tiles, only the list view will be filtered and refreshed, the other parts will not be influenced.
    When items created/modified, the whole page will be refreshed to keep all the numbers in each part updated.  A workflow will also be triggered to inform engineers or reviewers the progress of an item or content.
    3.3
    Other customizations
    3.3.1       
    ECB menu and permission control
    As we need to refresh the page when new item or modify item, we put all the form pages in a custom modal dialog and execute the refresh in the success callback function.
    There are three roles: Site owner, reviewer and engineer. They have limited privileges according to the roles they are:
    Site owner: Full control on the list, can see all the buttons in the ECB menu;
    Reviewer: There is another list which stores the names of each team and reviewers’ names of each team. The reviewer has limited full control only on the team they belong to. To other teams, the role can be seen as a visitor;
    Composer
    (create owner): The one who contribute an idea. For the ideas\contents from other teams, this role can be seen as visitor.
    The ECB menu they can see is:
    For the visitor, the ECB menu will only display a few buttons:
    The code:
    (function () {
    var viewContext = {};
    viewContext.Templates = {};
    viewContext.OnPostRender = OnViewPostRender;
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(viewContext);
    function OnViewPostRender(ctx) {
    $("a[title='More options']").removeAttr("onclick");
    $(".ms-list-itemLink").removeAttr("onclick");
    $("a[title='More options']").attr("onclick", "showMenuList(this);return false;");
    function showMenuList(obj) {
    var itemId = $(obj).parents("tr").attr("id").split(",")[1];
    //show ECB menu
    CoreInvoke('ShowECBMenuForTr', obj, event);
    var teamId = getCurrentTeamId("Content Pool", itemId);
    var styles = "";
    if (isSiteOwner("Technet SharePoint Team Owners")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isReviewer("List1_FAQ_team", teamId, "Reviewers")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isComposer(obj)) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    } else {
    styles = "li[text='Delete Item ']{display:none;} li.ms-core-menu-separator:last-child{display:none;} ul.ms-core-menu-list > li:nth-last-child(5){display:none;} li[text='Edit Item ']{display:none;} li[text='Upload Document']{display:none;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    includeStyleElement(styles);
    //get current team id
    function getCurrentTeamId(listName,itemId){
    var teamId="";
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items("+itemId+")?$select=MyTeamId";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.MyTeamId!=null){
    teamId=data.d.MyTeamId;
    }else{
    teamId="0";
    error: function () {
    //alert("Failed to get details");
    return teamId;
    //check whether is owner
    //Technet SharePoint Team Owners
    function isSiteOwner(groupName) {
    var flag = false;
    var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/Web/effectiveBasePermissions";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    var permissions = new SP.BasePermissions();
    permissions.fromJson(data.d.EffectiveBasePermissions);
    flag = permissions.has(SP.PermissionKind.managePermissions);
    error: function () {
    //alert("Failed to get details");
    return flag;
    function isComposer(obj) {
    var flag = false;
    var userId = _spPageContextInfo.userId;
    var composerId = $(obj).parents("tr").find("a[href*='userdisp.aspx']").attr("href").split("ID=")[1];
    if (composerId == userId) {
    flag = true;
    return flag;
    //check whether is reviewer
    function isReviewer(listName,teamId,peopleColumn){
    var flag=false;
    var userId=_spPageContextInfo.userId;
    // begin work to call across network
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items?$select=ID&$filter=(ID eq '"+teamId+"' and "+peopleColumn+"Id eq '"+userId+"')";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.results.length>0){
    flag=true;
    error: function () {
    //alert("Failed to get details");
    return flag;
    //insert style into page
    function includeStyleElement(styles) {
    var style = document.createElement("style");
    style.type = "text/css";
    (document.getElementsByTagName("head")[0] || document.body).appendChild(style);
    if (style.styleSheet) {
    //for ie
    style.styleSheet.cssText = styles;
    } else {
    //for w3c
    style.appendChild(document.createTextNode(styles));
    3.3.2       
    Workflow email customization
    The email will only be sent to engineer or team reviewer in the three scenarios:
    When engineer uploads an idea or content, reviewer will receive an email;
    When engineer uploads a content to an existing idea, reviewer will receive an email;
    When reviewer approve/reject an idea or content, engineer will receive an email;
    The design of the workflow process  :
     The email design like this:
    Email to engineer
    Email to reviewer
    Let us know if you are interested in it. Happy coding!
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    A good solution. Liked it very much. Can you please make it a technet blog for others.
    [email protected]

  • Oracle UCM folder level access on the fly

    Our requirement is like this. We have a folder named Projects.
    One user with Project Manager role will create a new folder within the Projects folder and give access to this new folder to one user from the Project Team Member role. No other member from the Project Team Member role will have access to that folder.
    Hence the access is not based on role or group but to an individual who will be selected on the fly.
    If someone can help me resolve the issue, that would be of immense help.
    Thanks,
    Deep.

    Well thanks again for your support. I saw you have given some detailed steps in another of my post. I have tried the ntk meanwhile in my own way and found something is working but not exactly what I want.
    Let me tell you this is for a demo that needs to shown to the client in a couple of days and I have jumped into this thing shortly to help out but I am not an expert of UCM.
    The requirement is like this -
    There is a virtual folder called Projects.
    The project manager will create another virtual folder under Projects and will give access it's access to only one of the project team members.
    There are two roles PROJECT_MANAGER and PROJECT_TEAM_MEMBER.
    If a user is either of these two roles s/he will see this folder. This works.
    I have installed the ntk component and set SpecialAuthGroups=restricted under the General Configuration.
    Added a new metadata DisclosureQuery.
    In the Content Security Configuration Information page of NTK Administration, under the Read Options section set Yes for both Use Security and Limit Access and in the script area wrote
    <$if isDisclosureQuery(xDocDisclosureQuery)$>
    <$isNTKReadAccess=1$>
    <$endif$>
    Say the user XXX has role PROJECT_MANAGER. He creates a folder say Project X under the folder Projects and mark the security group as Restricted. And in the DisclosureQuery filed wrote
    (UserName like 'ABC')
    Now say there are two users ABC and JKL with role PROJECT_TEAM_MEMBER. They both can see the Projects folder. The ABC can further see the folder Project X under Projects where JKL does not see any folder under Projects folder.
    But when ABC clicks on the Project X folder and tries to go inside it, the error message is thrown "Can not read folder".
    PROJECT_TEAM_MEMBER has RW access on Restricted security group.
    I even tried to put PROJECT_TEAM_MEMBER in the Query Role and Update Role select boxes in the Hit List Roles Configuration Information page. Not sure if I really need this.
    This link helped me a lot - http://selvam2day.blogspot.com/2010/10/sample-step-by-step-implementation.html
    But I am not able to resolve the last part.
    You can help that will be much appreciated.

Maybe you are looking for

  • How do I boot from a new hard drive?

    I have a 15" MacbookPro (pretty much stock) that I purchased new in Jan. 2012.  I had to replace the hard drive and just got the new drive installed.  Now I need a disc with an OS on it to boot from to get it all working again.  I originally had OS X

  • Can I Rotate Without Having To Go Back to the Library Module?

    I only see rotate arrow buttons in the Library module. Is there another button in Develop so I don't have to keep going back?

  • Iphone stopped working rabdomly??????

    I was just using my iphone to look at stuff on safari and i turned the screen off for about two minutes to go do something and when i come back my phone wouldnt turn on at all. I still have my warrenty but i see that only one of my little water damag

  • Sending Email from CRM IC in CRM 5.0

    Hello Experts, I have implemented a BAdi which gets call every time a BP is saved in CRM IC UI in 5.0.Now I want to triger an email from this BAdi to some recipient with the BP number and some text. Is it possible?Is there any standard class/FM which

  • Can't get Firefox working

    <blockquote>Locking duplicate thread.<br> Please continue here: [[/questions/891364]]</blockquote> I can't seem to get Firefox working, along with Firefox IE is also not working. I have to use chrome. Although I have to get Firefox working. Firefox a