Forum FAQ

Hi
I'm in the process of updating the [url http://forums.oracle.com/forums/help.jspa]OTN Forum FAQ, as there were quite a few incorrect things in there (like the link syntax).
Anyone can do this, as it's actually a wiki, but you have to sign up first and it may take a few days to get your 'writer' status (it did for me anyway).
Anyway, as well as mention this in the Community Feedback forum, I though I would also ask you guys for any suggestions - as here is where I spend a lot of my time :)
Remember that the FAQ is mostly concerned with posting syntax etc. and is used by the whole of OTN Forums - as such nothing APEX specific would be suitable.
So please feel free to mention anything on this thread that you would like changing/updating/including. So far I have changed the laugh smiley to be correct, changed the link syntax so that it works and removed some of the formatting options that no longer work.
Cheers
Ben

Hi,
Is it good idea point to check Apex demonstrative application and packaged applications for code examples?
http://www.oracle.com/technetwork/developer-tools/apex/packaged-apps-090453.html
Also new feature on Apex 4.0 "Learn More"
http://apex.oracle.com/pls/otn/f?p=4600:6
Maybe what all info you can find on
http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
And for those using XE database
http://www.oracle.com/technetwork/developer-tools/apex/upgrade-apex-for-xe-154969.html
Regards,
Jari
Edited by: jarola on Oct 3, 2010 2:41 PM
And OBEs
http://apex.oracle.com/pls/apex/f?p=9830:41:0::NO:RIR:P41_PRODUCT_SUITE,IR_PRODUCT_SUITE:APEX,APEX

Similar Messages

  • [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]

  • [Forum FAQ] How to install and configure Windows Server Essentials Experience role on Windows Server 2012 R2 Standard via PowerShell locally and remotely

    As we all know,
    the Windows Server Essentials Experience role is available in Windows Server 2012 R2 Standard and Windows Server 2012 R2 Datacenter. We can add the Windows Server
    Essentials Experience role in Server Manager or via Windows PowerShell.
    In this article, we introduce the steps to install and configure Windows
    Server Essentials Experience role on Windows Server 2012 R2 Standard via PowerShell locally and remotely. For better analyze, we divide this article into two parts.
    Before installing the Windows Server Essentials Experience Role, please use
    Get-WindowsFeature
    PowerShell cmdlet to ensure the Windows Server Essentials Experience (ServerEssentialsRole) is available. (Figure 1)
    Figure 1.
    Part 1: Install Windows Server Essentials Experience role locally
    Add Windows Server Essentials Experience role
    Run Windows PowerShell as administrator, then type
    Add-WindowsFeature ServerEssentialsRole cmdlet to install Windows Server Essentials Experience role. (Figure 2)
    Figure 2.
    Note: It is necessary to configure Windows Server Essentials Experience (Post-deployment Configuration). Otherwise, you will encounter following issue when opening Dashboard.
    (Figure 3)
    Figure 3.
      2. Configure Windows Server Essentials Experience role
    (1)  In an existing domain environment
    Firstly, please join the Windows Server 2012 R2 Standard computer to the existing domain through the path:
    Control Panel\System\Change Settings\”Change…”\Member of. (Figure 4)
    Figure 4.
    After that, please install Windows Server Essentials Experience role as original description. After installation completed, please use the following command to configure Windows
    Server Essentials:
    Start-WssConfigurationService –Credential <Your Credential>
    Note: The type of
    Your Credential should be as: Domain-Name\Domain-User-Account.
    You must be a member of the Enterprise Admin group and Domain Admin group in Active Directory when using the command above to configure Windows Server Essentials. (Figure 5)
    Figure 5.
    Next, you can type the password for the domain account. (Figure 6)
    Figure 6.
    After setting the credential, please type “Y” to continue to configure Windows Server Essentials. (Figure 7)
    Figure 7.
    By the way, you can use
    Get-WssConfigurationStatus
    PowerShell cmdlet to
    get the status of the configuration of Windows Server Essentials. Specify the
    ShowProgress parameter to view a progress indicator. (Figure 8)
    Figure 8.
    (2) In a non-domain environment
    Open PowerShell (Run as Administrator) on the Windows Server 2012 R2 Standard and type following PowerShell cmdlets: (Figure 9)
    Start-WssConfigurationService -CompanyName "xxx" -DNSName "xxx" -NetBiosName "xxx" -ComputerName "xxx” –NewAdminCredential $cred
    Figure 9.
    After you type the commands above and click Enter, you can create a new administrator credential. (Figure 10)
    After creating the new administrator credential, please type “Y” to continue to configure Windows Server Essentials. (Figure 11)
    After a reboot, all the configurations will be completed and you can open the Windows Server Essentials Dashboard without any errors. (Figure 12)
    Figure 12.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Part 2: Install and configure Windows Server Essentials Experience role remotely
    In an existing domain environment
    In an existing domain environment, please use following command to provide credential and then add Server Essentials Role: (Figure 13)
    Add-WindowsFeature -Name ServerEssentialsRole
    -ComputerName xxx -Credential DomainName\DomainAccount
    Figure 13.
    After you enter the credential, it will start install Windows Server Essentials role on your computer. (Figure 14)
    Figure 14.
    After the installation completes, it will return the result as below:
    Figure 15.
    Next, please use the
    Enter-PSSession
    cmdlet and provide the correct credential to start an interactive session with a remote computer. You can use the commands below:
    Enter-PSSession –ComputerName
    xxx –Credential DomainName\DomainAccount (Figure 16)
    Figure 16.
    Then, please configure Server Essentials Role via
    Add-WssConfigurationService cmdlet and it also needs to provide correct credential. (Figure 17)
    Figure 17.
    After your credential is accepted, it will update and prepare your server. (Figure 18)
    Figure 18.
    After that, please type “Y” to continue to configure Windows Server Essentials. (Figure 19)
    Figure 19.
    2. In a non-domain environment
    In my test environment, I set up two computers running Windows Server 2012 R2 Standard and use Server1 as a target computer. The IP addresses for the two computers are as
    below:
    Sevrer1: 192.168.1.54
    Server2: 192.168.1.53
    Run
    Enable-PSRemoting –Force on Server1. (Figure 20)
    Figure 20.
    Since there is no existing domain, it is necessary to add the target computer (Server1) to a TrustedHosts list (maintained by WinRM) on Server 2. We can use following command
    to
    add the TrustedHosts entry:
    Set-Item WSMan:\localhost\Client\TrustedHosts IP-Address
    (Figure 21)
    Figure 21.
    Next, we can use
    Enter-PSSession
    cmdlet and provide the correct credential to start an interactive session with the remote computer. (Figure 22)
    Figure 22.
    After that, you can install Windows Server Essentials Experience Role remotely via Add-WindowsFeature ServerEssentialsRole cmdlet. (Figure 23)
    Figure 23.
    From figure 24, we can see that the installation is completed.
    Figure 24.
    Then you can use
    Start-WssConfigurationService cmdlet to configure Essentials Role and follow the steps in the first part (configure Windows Server Essentials Experience in a non-domain environment) as the steps would be the same.
    The figure below shows the status of Windows Server Essentials.
    Figure
    25.
    Finally, we have successfully configured Windows Server Essentials on Server1. (Figure 26)
    Figure 26.
    More information:
    [Forum
    FAQ] Introduce Windows Powershell Remoting
    Windows Server Essentials Setup Cmdlets
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

  • Please add this to the Forum FAQ / Help

    Please add the stuff mentioned here FAQ/Help - Search and here Forum FR: Add a button to put a [ code ] tag inside a post to the the forum FAQ / Help (http://forums.oracle.com/forums/help.jsp).
    Thanks, Markus

    That would be a great addition, but you have to send your suggestion to the developer team. Use this form for  a feature request:
    http://www.apple.com/feedback/garageband_ios.html

  • New Forum FAQ

    This is a work in progress and will be re-formatted soon into individual Question/Answers in an FAQ subforum.
    Can I over write the forums style sheets to change the layout?
    Yes, Please see this discussion of scripts that can help you change your view of the Forums: http://forums.adobe.com/thread/294008?tstart=30
    How can I see the interface in Japanese, French, German, Spanish, or Simplified Chinese?
    In order to see pages in these languages, you can click the Region links at the top of page (where it lists a country name and says “Change”), choose your region and language from the pop-up menu. Click on "Remember this choice" under the menu.
    Why do some older messages appear with parentheses around user names?
    For a three-month period before our new forums were launched, we encouraged users to go through an account migration process to associate their former User to User forum IDs with their Adobe ID. Accounts with the parentheses are from those users who had content in the old Adobe User to User Forums, but who have not yet signed into the new system. The parentheses were added to these account names so they could be imported into the new system without clashing with screen names associated with Adobe IDs.
    Once a user logs in with that account in the new system the parentheses will go away.
    How do I participate in  the Adobe Online Forums via email?
    Visit the forum you wish to participate in and click on the link to "Receive email notifications". You will start receiving new messages posted in that forum. You can reply to the messages directly from your email or you can click on a link in the message to come back to the forum.
    Can I start a new discussion topic via email?
    Yes. Once you have subscribed to a forum you can click on the “Your Stuff” link in the forums, click on “Mailing Lists” and find a "Create Discussion" email link for each forum you are subscribed to. Copy the full email address (it may wrap onto two lines) into your email client's address book and send new discussions to this address.
    Can I include a file attachment via email?
    You can include a file attachment in an email that starts a new forum discussion, but you cannot attach a file to an email reply to an existing discussion.
    How do I stop receiving  email notifications from the Adobe Forums?
    To discontinue receiving thread subscription updates, you can change your  personal settings in the web-based forums. To do this, login to the Adobe Forums by visiting http://forums.adobe.com/ and click on "Login".
    Once you've logged in  with your Adobe ID and password, click the menu item labeled "Your Stuff" and select "Profile". Select the "Email Notifications" tab,  check the threads for which you would no longer like to receive subscription  updates and click "Remove Selected Notifications."
    How do I prevent myself from being automatically subscribed to threads I post messages in?
    Go to the Your Stuff link in the User Bar, click on Preferences, and uncheck the to radio buttons for subscribing to threads you create and threads you reply to.
    How do I embed an image or a video in a forum message?
    When posting a message in the Forums there are two buttons in the Rich Text  Editor to include a video or an image file in the message.
    For video, click on the clapboard button/icon then select the video site and  enter the Video URL or embed code and click Insert.
    For an image, click on the camera button/icon then select the appropriate tab (From Your Computer, Uploaded Images, or From the web) and follow the onscreen instructions.
    What if I want to link to an image on an external site, such as Pixentral or Flickr, instead of uploading the image to the Forum server?
    Flickr's Terms of Service state that if you post an image hosted on Flickr on another site you have to link back to the image page on Flickr. To do that you  need to go to your image on Flickr, click on the All Sizes link above the image,  select the size image you want, then Copy the HTML code from the first box of code underneath the image. Then, in the Forum's Rich Text Editor, click on  the >> button/icon and select Insert Raw HTML. This will open a frame  within your message where you paste the HTML code you copied from the Flickr  site. Then continue on with composing your forum message and click “Post Message”  to post the message to the forum system.
    For Pixentral images, you will need to go to http://www.pixentral.com and upload your image following the instructions there. You do NOT have to check the box to make images public. Once your image is uploaded there copy the HTML code from the box below your image. Then, in the Forum's Rich Text Editor, click on  the >> button/icon and select Insert Raw HTML. This wil open a frame within your message where you paste the HTML code you copied from the Pixentral site. Please note that there is an extra "/" character in the Pixentral URL that will prevent the image from showing up, so you need to make one change to the HTML that you copied from the Pixentral site. The beginning of the HTML code  will look something like this:
    <a href="http:www.pixentral.com/show.php?picture=16xx5748rt9fhd"/>
    Please remove the forward slash that appears between the quotes and the greater  than symbol so that this part of the HTML code looks like this:
    <a href="http:www.pixentral.com/show.php?picture=16xx5748rt9fhd">
    Then continue on with composing your forum message and click “Post Message” to  post the message to the forum system.
    Can I attach a file to a forum message?
    Yes. Each message in the Forums can have up to three files attached. Each file cannot exceed 5MB. These numbers are subject to change.
    To attach a file, create a new forum message as usual and then click on the “Browse” button below the Rich Text Editor box to select a file from your computer.
    Are forum messages presented in Threaded or Flat order?
    The Forum messages can be presented in either Threaded or Flat order. This  can be set in your forum Preferences. Click on the “Your Stuff” link and select “Preferences”. The first setting on that page is for how you want to see the messages.
    In Flat mode, each message posted in the Forum will appear directly below and in line with the message posted before it. You will be able to view the discussion as if it were a live discussion with each person taking a turn in successive order.
    In Threaded mode, each message will be posted below the message it is direct reply to and will be indented. This makes it easier to follow sidebar or sub-discussions, but can make it more difficult to follow a long conversation.
    When you are reading messages in a forum, you can select to reply to the original message or to any of the replies to that original message.
    How do I edit a message that I have posted in the Forum?
    After you have posted a message you will find an “Edit” link at the bottom of the message. Click on the link to open the message editor and make your changes. The edit feature is good for fixing a typo or a link. But if you have extensive changes to make to your message we suggest that you post a new reply to your message instead of editing the original message. Editing is not available if someone has replied to your message. At that point, you have to add a new reply to the thread with the updated information.
    How do I delete a message that I have posted in the Forum?
    You can delete a message you have posted if there have been no replies. Once someone has replied the Delete option goes away.
    How do I send a forum message to a friend?
    While reading a message in the Forums, you can send a link to the discussion to someone outside the forum system by clicking on the "Send as email" link in the Actions panel. You can select user names from the system or email addresses of people outside the system and they will be sent a link to the forum. The actual message is not included in the email. The recipient will need to click on the link in the message to view the contents.
    How do I report an abusive post in the Forums?
    When viewing messages in the Forum you will find a "Report Abuse" link in the Actions panel on the right side for the original message and you will also find an individual “Report Abuse” link listed for each reply to the original message. Click on the link to send a report.
    How do I upload an Avatar for my Forum account?
    To upload a custom avatar for use in the Adobe Forums you must first create a 128x128 (max size) image file.
    Then log into the Forums and click on “Your Stuff” and select “Profile”
    Click on “Change avatar” in the Actions panel on the right side of the screen.
    Scroll down to the “Upload Avatar” section and click “Browse” to find the avatar file on your system, then click “Upload”.
    Once you avatar file is uploaded, it has to be approved by an administrator (this might take several hours to several days). Until it is approved it will be marked as "pending." Once the pending notification is gone, you can select that avatar and click “Save Settings”.
    How do I upload an image for my profile page?
    Log into the Forums and click on “Your Stuff” and select “Profile”.
    Click on the “Edit Profile” link in the Actions panel on the right side of the screen.
    Click on the “Browse” button to select an image file from your system.
    Click on the “Save” button to upload and save your new profile image
    All profile images will be scaled to be 320 pixels wide.
    How do I access Private Messages?
    The Private Message feature is located under the “Your Stuff” link.
    If you have a private message waiting for you in the forum the “Your Stuff” link will be orange.
    Click on the “Your Stuff” and select “Private Messages” from the drop down menu.
    From there, you will be able to read incoming messages, create new messages, and manage old messages.
    You can also manage an Address Book and sort messages into folders.
    Can I attach a file to a Private Message?
    No. But you can include a link to an image or a video.
    How many Private Messages can I have?
    40 (subject to change)
    Can I subscribe to a feed from the Forums?
    Yes, you can get an RSS feed from various parts of the forums: Announcements, Discussions, and you can even subscribe to an individual user by going to their profile (click on their name or avatar any place in the forums) and getting the feed link from there. You can also get a feed of your private message inbox.
    Some messages have odd linebreaks and random characters in them, such as lines that start with B or I that don't seem to make sense.
    The Adobe Online Forums is a new system that has data imported from two previous systems. One of the previous systems had its own message formatting codes, such as B for Bold and I for Italic. These codes import into the new system as plain text and lead to the formatting issue that you might run across on old messages.
    I marked a reply to my question as the correct answer, but then discovered that it was not correct. Can I remove the Marked as Answered setting?
    No, you can only set this for one reply and it cannot be removed. Please post a follow up message in the discussion thread with updated information, such as a clarification or rebuttal to the marked answer.
    I am not clear on the points system in the Forums. Will I get points for simply posting questions or replying to questions?
    No. Points are not given for simply posting a question or a reply. Points are awarded by the person who started a discussion. They can mark a reply to their question as either The Answer or as Helpful. They can mark one “Correct” answer and two “Helpful” answers per discussion thread.
    I've clicked to edit my profile and now I'm lost. I can't get back to the discussion I was viewing.
    Use the History link in the user bar.
    Is there an alternative to the Rich Text Editor?
    Yes, if you are comfortable with some basic HTML, you can click on the “HTML” link in the upper right corner of the Full Editor to switch to an HTML editor. If you use the HTML editor you need to remember to put in <p> and <br> tags between paragraphs, otherwise the HTML editor will remove extraneous white space (including carriage returns) in your message.
    How can I Jump the last message in a thread?
    Click on the XX minutes ago link in the list of threads to go to the latest message instead of to the first message.
    How do I change my name or screen name?
    At the very top of the page, click on “Your account”. Under “Account Information”, click on the “Edit Your Account Information” link. Edit the desired information on this page and click “Update”.
    How do I change my email address?
    At the very top of the page, click on “Your account”. Under “Account Information”, click on the “Edit Your Account Information” link. Your Adobe ID/email is listed here, and you need to click on the “Change” button. Enter your email address, your password, and click “Update”. Note that your email address is also your Adobe ID which you use to login, so if you change your email address, you will also need to login using the new email address.
    How do I change my password?
    At the very top of the page, click on “Your account”. Under “Account Information”, click on the “Edit Your Account Information” link. Your password is displayed as a series of asterisks (*****). Click the “Change” button. You will need to enter your current password, your new password, and a password hint. Click on the “Update” button to save your changes.

    @ adobe-admin (J.C.?):
    Thanks for fixing the "backslash" error. Accuracy is important, and doubly so when presented as an F.A.Q.
    The sad thing is how prevalent the usage of "backslash" is when a plain old slash is meant (generally, the "forward" attribute is assumed and unneeded), and by people who should know better. It's a direct result of people knowing just barely enough about the Windows file path naming protocols, and then applying the only terminology they're familiar with incorrectly to URLs.
    I went about 10 rounds—TWICE!—with a labyrinthian succession of people at the Discovery & History cable TV networks because they were saying "backslash" in voice overs whenever their commercials promoted their websites. It took some doing, but I finally got in touch with somebody who was savvy enough to recognize that it was a rookie mistake made by a clueless marketing copywriter. The voice over person just read the copy they were given, oblivious to the difference. It amazes me that it wasn't caught by somebody early in the recording/production process and rectified.
    They then had it correct for about a year, until new commercials started popping up with the same error. Unfortunately, the person I had talked to previously no longer worked for the History channel and I had to go through the process of finding someone who understood all over again.
    Yeah, you can call me a nitpicker with nothing better to do.
    But I've earned that dang badge, and I wear it proudly!

  • Forum FAQ:Why Application Data folder is not accessible

    Why Application Data folder is not accessible
    Question
    When I access the Application Data folder with administrative privilege on my computer, I get an error message "Access is denied".
    Answer
    Note:
    This FAQ is based on discussions from a previous forum thread (
    Accessing "Application Data" in Windows 7 ). Thanks to Ronnie Vernon and other participants' information sharing.
    In Windows Vista or later Operating Systems, the default location of user data has changed. The
    Application Data folder is not an actual folder. It is a
    Junction Point for backward compatibility. A Junction Point is a physical location on a local hard disk that points to another location on that disk or another storage device. It is essentially a shortcut.
    You might have noticed when clicking on a folder in
    Windows Explorer with a shortcut icon shown on it (a Junction Point ), you get an
    Access Denied error message. This is to be expected. By default, the Read permission for Junction Points is set to
    Everyone – Deny . You are not supposed to access these folders, and there really is no reason to access these folders.
    If you want to know where are those Junction Points pointing to. You can track down the real location of the files by running the command
    dir /aL to display all the Junction Points and the locations that the
    Junction Points refers to.
    For example:
    If you want to track down all Junction Points on C: drive, please locate C: drive and enter the following command:
    C:\>dir /aL /s
    More Information
    For more information on Junction Points, click the following links to view the articles:
    Junction Points and Backup Applications
    Junction Points
    Junction Points in Vista
    Applies to
    Windows 7 Starter
    Windows 7 Home Basic
    Windows 7 Home Premium
    Windows 7 Professional
    Windows 7 Ultimate
    FOR INTERNAL INFORMATION RECORD
    Related Bug number:
    [Optional]
    Source Thread:
    [5ae36d5d-cb29-49ae-a379-a8be0dde0abc]  
    Reference link:
    [Optional]
    Author
    [v-daleq]

    This article is nonsense. Applications store data in this folder that needs "backed up." As one example only, bookmarks for Google Chrome.
    "You are not supposed to access these folders, and there really is no reason to access these folders."

  • Forum FAQ's Read this First

    Dear Forum Members,
    We have upgraded the Forums platform. As with any migration, there are differences between the two platforms that we need to address. But more importantly, our goal is to minimize any inconveniences to you our valued members.
    Please refer to the following FAQ which will address the majority of your questions as much as possible.
    What happened to my account?
    While we have kept members accounts and details, we do not hold any personal or confidential information such as your password. These are all encrypted by our vendor and there is no way for us to know or change these details. 

    Why do I need to reset my password?
    In order to ensure that your postings and relevant information remain secure, we highly recommend that you follow the instructions provided on the email we sent you.
    What happened to my postings?

    Moving a 10-year old forum is no easy task. While the majority of your postings have been migrated, the structure and how VBulletin handles each account and posting is now slightly different than before. During the migration, some of the encrypted codes that were removed have affected some characters within the postings. This caused some words to disappear. The forum team had a massive undertaking to clean up the postings, and we are talking about thousands of inter-linked postings accumulated from approximately 10 years of forum activity. For this reason, you may still see some of them with strange html codes. If you spot anything amiss, do not hesitate to inform any of the moderators. During the cleanup, the moderators spent a considerable amount of time to maintain the accuracy of the content. 

    Do I still get to keep my ranking/status?
    Yes. This includes post counts but not the kudos, signature and avatar. If for some reason that your ranking or post count is not shown, please let us know via this feedback thread.
    “Help! Some of my messages are missing!”
    Drop us a line here and we'll take a look. We don't promise miracles, but we will try our best. 


    Some of my postings/hyperlinks are broken. What did you do?
    Many of the postings and messages were accumulated through the years. As with any other forums, postings and content get out-dated and may not be relevant now. Many links to external sites have also changed since, resulting in either broken links or a redirect to generic page(s). Links within the Forums and those that were linked to other sub-forums are also changed, due to the different Forum structure. We have disabled all outdated links to external sites, images and even to the sub-forums within this site. We will want to keep as much of the Forums intact, and this will be an on-going effort. If you spot any missing links, you are welcome to change them, within all your postings, or just drop us a direct message here and we will take care to update it.

    Exactly what did you guys cleanup?
    During the migration, we had to create and run certain scripts to strip away some of the incompatible codes that are not applicable to the new site. This was to get as much of the original content out as possible. Some html tags were affected, resulting in both unclosed tags and content. We basically removed those html tags e.g. bold, font type and bulleted points.

    And the upshot is....
    Actually, I know, cos I'm Suzy's Dad...
    The order is now available - another database error. BTO needs to get its computer systems sorted out and its sales droids trained to recognise stupidity in the database and track stuff like this down.

  • Camera Raw forum FAQ

    I'm a long-time user of the Camera Raw forum, which is a good quality read, frequented by plenty knowledgeable people. However, I have one problem with it:
    There is one question which keeps cropping up more than any other.
    This is why they created the humble FAQ, but I can't seem to find it. This is what I see:
    Apparently, when you log out, the forum looks a bit more helpful, but this all changes to the above layout when I log in.
    When I visit the Photoshop forum, there is an 'announcement' box across the top. This would be an excellent place to put the number 1 question from infrequent visitors.
    Trouble is, I don't know if there's a moderator responsible for the CR forum, or how to go about making the FAQ (yes, there is one, albeit a bit complex) more visible. Any pointers?

    The layout of the site (the theme which controls the style of each page and the titles of the various pods) is controlled entirely by Adobe's web team.
    There are limits on what that theme can do, dictated by Jive's software (just as with any other hosted system such as Blogger, you can style the pages but can't change the functionality).
    As operators of a hosted platform with a shared core, Jive does not do 'everything they are told to do'. It allows certain things to be customised, that's all. Your builder analogy is flawed as Jive is not simply providing labor, it's selling access to a hosted product. If you rent a car for the weekend you can ask for a child seat but can't demand it be repainted.
    Hosts have no involvement with themes, topic names or user accounts, we manage the content.
    MVPs are not necessarily Hosts, the MVP program is indeed an 'honorary title' in the sense there's no entrance fee or exam, but there are expert sub-groups within it (which as a normal user you cannot see) whose positions are set by very strict criteria.

  • [Forum FAQ] Schedule multiple versions of System Image Backup in Windows 8.1

    As we known that there is no UI for user to configure Image backup in Windows 8.1, this is a guide for your to schedule multiple versions of System Image Backup.
    Step 1: Create a task to schedule an image backup with following command:
    SCHTASKS /Create /SC WEEKLY /D MON /TN WeeklyFullBackup /RL HIGHEST /ST 13:00 /TR “wbAdmin Start Backup -backupTarget:F: -include:C: -allCritical -quiet”
    Step 2: Schedule a robocopy to backup the saved image with BAT file:
    Please create a new folder (in this example, the new folder is e:\test2) to save your multiple copies of image backup:
    Write following batch file to copy backup and rename with backup date:
    *****************BAT********************
    @echo off
    robocopy e:\test1\ e:\test2\ test.wim
    ren e:\test2\test.wim  test_%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%.wim
    NOTE: e:\test2 is my location to save multiple copies of image backup; e:\test1 is the location I create the system image backup.
    This BAT can also help to rename the copy of image backup with date and time like below:
      3.  Set up a basic task in Task schedule:
    Note: please make sure the time you configured follows the time you set for image backup in Step 1.
    Action -> Create basic task (Name you task) -> Trigger (Set how often this task should be run) -> Action (Start a program) -> Under Program/script, point to your bat file you create in Step 2.b -> Finish
    At the end, you can know more about SCHTASKS and Robocopy via following links:
    Robocopy
    http://technet.microsoft.com/en-us/library/cc733145.aspx
    Schtasks
    http://technet.microsoft.com/en-us/library/cc725744.aspx
    Welcome to your feedbacks.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Hi,
    Thanks for posting in Microsoft TechNet forums.
    I will try to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
    Regards,
    Kelvin Xu
    TechNet Community Support

  • [Forum FAQ] Show Attachments in SharePoint 2013 Custom List View

    Introduction:
    By default, there is an Attachments column in the SharePoint List, some people want to display attachments name and click name can open the documents in List View. In this article, we would show you the method with
    REST API, JSLink and jQuery.
    Solution:
    The steps in detail as follows:
    Download the jQuery API  and upload the js file into the
    SiteAssets Document Library.
    Save the following code as a js file (showAttachments.js) and upload it into the
    SiteAssets Document Library.
    (function () {
    // Create object that have the context information about the field that we want to change it output render
    var attachmentsFiledContext = {};
    attachmentsFiledContext.Templates = {};
    attachmentsFiledContext.Templates.Fields = {
    "Attachments": { "View": AttachmentsFiledTemplate }
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(attachmentsFiledContext);
    // This function provides the rendering logic for list view
    function AttachmentsFiledTemplate(ctx) {
    var itemId = ctx.CurrentItem.ID;
    var listName = ctx.ListTitle;
    return getAttachments(listName, itemId);
    //get attachments field properties
    function getAttachments(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++) {
    str += "<a href='" + data.d.results[i].ServerRelativeUrl + "'>" + data.d.results[i].FileName + "</a>";
    if (i != data.d.results.length - 1) {
    str += "<br/>";
    error: function (err) {
    //alert(err);
    return str;
    3.     Edit the list view page.
    4.
    Edit the list web part. Go to Miscellaneous -> JS Link.
    5.    Add the following URL into the JS Link textbox.
    ~site/SiteAssets/jquery-1.11.1.min.js|~site/SiteAssets/showAttachments.js
    Result:<o:p></o:p>
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Hi,
    Thanks for your details steps, with your steps I can reproduce the issue using SharePoint server 2013 without any CU or PU.
    The items not displayed when group by the calculated column.
    However, I had done more research and test, I had found that it’s a known issue.
    I had tested with the SharePoint server 2013 which applied the December CU, the issue disappeared, the items displayed well.
    You can install the December CU for SharePoint server 2013, then test whether it works.
    http://blogs.technet.com/b/stefan_gossner/archive/2013/12/20/december-2013-cu-for-sharepoint-2013-has-been-released.aspx
    Thanks,
    Jason
    Forum 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]
    Jason Guo
    TechNet Community Support

  • [Forum FAQ] SharePoint 2013: Extracting values from a multi-value enabled lookup column and merge values to a multi-value enabled column

    For some business requirements, users want to extract values from a multi-value enabled lookup column
    and add items to another list based on each separate value. In contrast, others want to find duplicate values in the list and merge associated values to a multi-value enabled column and then
    add items to another list based on the merged value. All of these can be achieved using SharePoint Designer 2013 Workflow.
    How to extract values from a multi-value enabled lookup column and add items to another list based
    on each separate value using SharePoint Designer 2013.
    Important actions: Loop Shape; Utility Actions
    Three scenarios
    Things to note
    Steps to create Workflow
    How to merge values to a multi-value enabled column and add item to another list based on the
    merged value using SharePoint Designer 2013.
    Important actions: Call HTTP Web Service; Build Dictionary
    Things to note
    Steps to create Workflow
    How to
    extract values from a multi-value enabled lookup column and
    add items to another list based on each separate value using SharePoint Designer 2013.
    For example, they have three lists as below. They want to
    extract values from the Destinations column
    in Lookup2 and add items to Lookup3 based on each country and set Title to current item: ID.
    Lookup1:
    Title (Single line of text)
    Lookup2:
    Title (Single line of text), Destinations (Lookup; Get information from: Lookup1 in Title column).\
    Lookup3:
    Title (Single line of text), Country (Single line of text).
    Important action
    1. Loop Shape: SharePoint Designer 2013 support two types of loops: loop n times and loop with condition.
    Loops must also conform to the following rules:
    Loops must be within a stage, and stages cannot be within a loop.
    Steps may be within a loop.
    Loops may have only one entry and one exit point.
    2. Utility Actions: It contains many actions, such as ‘Extract Substring from Index of String’ and ‘Find substring in String’.
    Three scenarios
    We need to loop through the string returned from the look up column and look for commas. There are three
    scenarios:
    1.  No comma but string is non-empty so there is only one country.
    2.  At least one comma so there is at least two or more countries to loop.
    3.  In the loop we have consumed all the commas so we have found the last country. 
    Things to note
    There are two things to note:
    1. "Find string in string (output to Variable:index)"  will return -1 if doesn't find
    the searched for string.
    2. In the opening statement "Set Variable: Countries to Current Item:Destinations" set the return
    field as  "Lookup Values, Comma Delimited".
    Steps to create Workflow
    Create a custom list named Lookup1.
    Create a custom list named Lookup2, add column: Destinations (Lookup; Get information from: Lookup1 in Title column).
    Create a custom list named Lookup3, add column: Country (Single line of text).
    Create a workflow associated to Lookup2.
    Add conditions and actions:
    Start the workflow automatically when an item is created.
    Add item to Lookup2, then workflow will be started automatically and create multiple items to lookup3.
    See the below in workflow History List:
    How to merge values to a multi-value enabled column and add item to another list based on the
    merged value using SharePoint Designer 2013
    For example, they have three lists as below. They want to find duplicate values in the Title column in
    Lookup3 and merge country column to a multi-value enabled column and then add item to lookup2 and set the Title to Current Item: Title.
    Lookup1:
    Title (Single line of text)
    Lookup3:
    Title (Single line of text), Country (Single line of text).
    Lookup2:
    Title (Single line of text), Test (Single line of text).
    Important actions
    "Call HTTP Web Service"
    action: In SharePoint 2013 workflows, we can call a web service using a new action introduced in SharePoint 2013 named Call HTTP Web Service. This action
    is flexible and allows you to make simple calls to a web service easily, or, if needed, you can create more complex calls using HTTP verbs as well as allowing you to add HTTP headers.
    “Build Dictionary"
    action:
    The Dictionary variable type is a new variable type in the SharePoint 2013 Workflow.
    The following are the three actions specifically designed for the Dictionary variable type: Build Dictionary, Count Items in a Dictionary and Get an Item from a Dictionary.
    The "Call HTTP Web Service" workflow action would be useless without the new "Dictionary" workflow action.
    Things to note
    The
    HTTP URI is set to https://sitename/_api/web/lists/GetByTitle('listname')/items?$orderby=Id%20desc and the HTTP method is set to “GET”. Then the list will be sort by Id in descending order.
    Use Get
    d/results(0)/Id form
    Variable: ResponseContent (Output to
    Variable: maxid) to get the Max ID.
    Use Set
    Variable: minid to Current List:ID to get the Min ID.
    Use Copy from
    Variable: destianation , starting at
    1 (Output to
    Variable: destianation) to remove the space.
    Steps to create Workflow
    Create a custom list named Lookup1.
    Create a custom list named Lookup2, add column: Test (Single line of text).
    Create a custom list named Lookup3, add column: Country (Single line of text).
    Create a workflow associated to Lookup3.
    Add a new "Build Dictionary" action
    to define the http request header:
    Add a Call HTTP Web Serviceaction, click on
    this and paste your http request.
    To associate the
    RequestHeader variable, select the Call action property,
    set the
    RequestHeaders property to
    RequestHeader:
    In the Call action, click on
    response and associate the response to a new
    variable: ResponseContent (of type Dictionary).
    After the Call action add Get item from Dictionary action to get the Max ID.
    Add Set Workflow Variable action to get the Min ID.
    Add Loop Shape (Loop with Condition) to get all the duplicate titles and integrate them to a string.
    Create item in Lookup2.
    The final Stage should look like this:
    Start the workflow automatically when an item is created.
    Add item to Lookup3, then workflow will be started automatically and create item to lookup2.
    See the below in workflow History List:
    References
    SharePoint Designer 2013 - Extracting values from a multi-value enabled lookup column into a dictionary as separate items:
    http://social.technet.microsoft.com/Forums/en-US/97d34468-1b53-4741-88b0-958472f8ca9a/sharepoint-designer-2013-extracting-values-from-a-multivalue-enabled-lookup-column-into-a
    Workflow actions quick reference (SharePoint 2013 Workflow platform):
    http://msdn.microsoft.com/en-us/library/jj164026.aspx
    Understanding Dictionary actions in SharePoint Designer 2013:
    http://msdn.microsoft.com/en-us/library/office/jj554504.aspx
    Working with Web Services in SharePoint 2013 Workflows using SharePoint Designer 2013:
    http://msdn.microsoft.com/en-us/library/office/dn567558.aspx
    Calling the SharePoint 2013 Rest API from a SharePoint Designer Workflow:
    http://sergeluca.wordpress.com/2013/04/09/calling-the-sharepoint-2013-rest-api-from-a-sharepoint-designer-workflow/

    GREAT info, but it may be helpful to note that when replacing a portion of the variable "Countries" with a whitespace character, you may cause the workflow to fail in a few specific cases (certain lookup fields will not accept this and will automatically
    cancel).  I only found this out when recreating your workflow on a similar, but much more complex list set.  
    To resolve this issue, I used another utility action (Extract Substring from Index of List) to clear out the whitespace.  I configured it as "Copy from
    Variable: Countries, starting at
    1 (Output to Variable: Countries), which takes care of this issue in those few cases.
    Otherwise, WOW!  AWESOME JOB!  Thanks!  :)

  • [Forum FAQ] How to find and replace text strings in the shapes in Excel using Windows PowerShell

    Windows PowerShell is a powerful command tool and we can use it for management and operations. In this article we introduce the detailed steps to use Windows PowerShell to find and replace test string in the
    shapes in Excel Object.
    Since the Excel.Application
    is available for representing the entire Microsoft Excel application, we can invoke the relevant Properties and Methods to help us to
    interact with Excel document.
    The figure below is an excel file:
    Figure 1.
    You can use the PowerShell script below to list the text in the shapes and replace the text string to “text”:
    $text = “text1”,”text2”,”text3”,”text3”
    $Excel 
    = New-Object -ComObject Excel.Application
    $Excel.visible = $true
    $Workbook 
    = $Excel.workbooks.open("d:\shape.xlsx")      
    #Open the excel file
    $Worksheet 
    = $Workbook.Worksheets.Item("shapes")       
    #Open the worksheet named "shapes"
    $shape = $Worksheet.Shapes      
    # Get all the shapes
    $i=0      
    # This number is used to replace the text in sequence as the variable “$text”
    Foreach ($sh in $shape){
    $sh.TextFrame.Characters().text  
    # Get the textbox in the shape
    $sh.TextFrame.Characters().text = 
    $text[$i++]       
    #Change the value of the textbox in the shape one by one
    $WorkBook.Save()              
    #Save workbook in excel
    $WorkBook.Close()             
    #Close workbook in excel
    [void]$excel.quit()           
    #Quit Excel
    Before invoking the methods and properties, we can use the cmdlet “Get-Member” to list the available methods.
    Besides, we can also find the documents about these methods and properties in MSDN:
    Workbook.Worksheets Property (Excel):
    http://msdn.microsoft.com/en-us/library/office/ff835542(v=office.15).aspx
    Worksheet.Shapes Property:
    http://msdn.microsoft.com/en-us/library/office/ff821817(v=office.15).aspx
    Shape.TextFrame Property:
    http://msdn.microsoft.com/en-us/library/office/ff839162(v=office.15).aspx
    TextFrame.Characters Method (Excel):
    http://msdn.microsoft.com/en-us/library/office/ff195027(v=office.15).aspx
    Characters.Text Property (Excel):
    http://msdn.microsoft.com/en-us/library/office/ff838596(v=office.15).aspx
    After running the script above, we can see the changes in the figure below:
    Figure 2.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Thank you for the information, but does this thread really need to be stuck to the top of the forum?
    If there must be a sticky, I'd rather see a link to a page on the wiki that has links to all of these ForumFAQ posts.
    EDIT: I see this is no longer stuck to the top of the forum, thank you.
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • [Forum FAQ] How to use multiple field terminators in BULK INSERT or BCP command line

    Introduction
    Some people want to know if we can have multiple field terminators in BULK INSERT or BCP commands, and how to implement multiple field terminators in BULK INSERT or BCP commands.
    Solution
    For character data fields, optional terminating characters allow you to mark the end of each field in a data file with a field terminator, as well as the end of each row with a row terminator. If a terminator character occurs within the data, it is interpreted
    as a terminator, not as data, and the data after that character is interpreted and belongs to the next field or record. I have done a test, if you use BULK INSERT or BCP commands and set the multiple field terminators, you can refer to the following command.
    In Windows command line,
    bcp <Databasename.schema.tablename> out “<path>” –c –t –r –T
    For example, you can export data from the Department table with bcp command and use the comma and colon (,:) as one field terminator.
    bcp AdventureWorks.HumanResources.Department out C:\myDepartment.txt -c -t ,: -r \n –T
    The txt file as follows:
    However, if you want to bcp by using multiple field terminators the same as the following command, which will still use the last terminator defined by default.
    bcp AdventureWorks.HumanResources.Department in C:\myDepartment.txt -c -t , -r \n -t: –T
    The txt file as follows:
    When multiple field terminators means multiple fields, you use the below comma separated format,
    column1,,column2,,,column3
    In this occasion, you only separate 3 fields (column1, column2 and column3). In fact, after testing, there will be 6 fields here. That is the significance of a field terminator (comma in this case).
    Meanwhile, using BULK INSERT to import the data of the data file into the SQL table, if you specify terminator for BULK import, you can only set multiple characters as one terminator in the BULK INSERT statement.
    USE <testdatabase>;
    GO
    BULK INSERT <your table> FROM ‘<Path>’
     WITH (
    DATAFILETYPE = ' char/native/ widechar /widenative',
     FIELDTERMINATOR = ' field_terminator',
    For example, using BULK INSERT to import the data of C:\myDepartment.txt data file into the DepartmentTest table, the field terminator (,:) must be declared in the statement.
    In SQL Server Management Studio Query Editor:
    BULK INSERT AdventureWorks.HumanResources.DepartmentTest FROM ‘C:\myDepartment.txt’
     WITH (
    DATAFILETYPE = ‘char',
    FIELDTERMINATOR = ‘,:’,
    The new table contains like as follows:  
    We could not declare multiple field terminators (, and :) in the Query statement,  as the following format, a duplicate error will occur.
    In SQL Server Management Studio Query Editor:
    BULK INSERT AdventureWorks.HumanResources.DepartmentTest FROM ‘C:\myDepartment.txt’
     WITH (
    DATAFILETYPE = ‘char',
    FIELDTERMINATOR = ‘,’,
    FIELDTERMINATOR = ‘:’
    However, if you want to use a data file with fewer or more fields, we can implement via setting extra field length to 0 for fewer fields or omitting or skipping more fields during the bulk copy procedure.  
    More Information
    For more information about filed terminators, you can review the following article.
    http://technet.microsoft.com/en-us/library/aa196735(v=sql.80).aspx
    http://social.technet.microsoft.com/Forums/en-US/d2fa4b1e-3bd4-4379-bc30-389202a99ae2/multiple-field-terminators-in-bulk-insert-or-bcp?forum=sqlgetsta
    http://technet.microsoft.com/en-us/library/ms191485.aspx
    http://technet.microsoft.com/en-us/library/aa173858(v=sql.80).aspx
    http://technet.microsoft.com/en-us/library/aa173842(v=sql.80).aspx
    Applies to
    SQL Server 2012
    SQL Server 2008R2
    SQL Server 2005
    SQL Server 2000
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Thanks,
    Is this a supported scenario, or does it use unsupported features?
    For example, can we call exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='b64ce7ec-d598-45cd-bbc2-ea202e0c129d'
    in a supported way?
    Thanks! Josh

  • [Forum FAQ] Why can't I retrieve Free/Busy information

    Free/Busy information is a feature of Microsoft Outlook that allows you to see when others are free or busy so that you can efficiently schedule meetings. You can use Microsoft Outlook to publish Free/Busy information to any server
    your and your coworkers have read/write access to. However, in some cases you’ll notice that you can’t retrieve Free/Busy information correctly from Outlook. You can try the below methods to troubleshoot and get the Free/Busy information again.
    Since most users who often use this feature are using Exchange, all the information in this content is only based on Exchange.
    General troubleshooting methods:
    Method 1: Start Outlook using the ‘/cleanfreebusy’ command line switch
    Method 2: Logon OWA to see if the Free/Busy information shows correctly
    Method 3: Check the user’s Permission Level when only one user’s Free/Busy information can’t be displayed
    Other causes
    Autodiscover has not been setup correctly
    Updates
    Here are the detailed steps and explanation of each method and cause.
    Method 1: Start Outlook using the ‘/cleanfreebusy’ command line switch
    With the ‘/cleanfreebusy’ switch, it will clear and regenerate free/busy information when Outlook starts, sometimes this process fixes the problem that Free/Busy information doesn’t display correctly, and this is always the first thing we should try when
    we can’t get the Free/Busy information from Outlook.
    This switch can only be used when you are able to connect to your Microsoft Exchange server.
    To start Outlook using the switch, we can press Win Key +
    R to start Run, type ‘outlook.exe /cleanfreebusy’ in the blank box, then press
    Enter.
    Please note since Outlook 2013 only uses the availability service which is connected to Autodiscover, the command line switch ‘/cleanfreebusy’ has been removed as well as the associated code so that Outlook 2013 will not recognize this
    command.
    Method 2: Logon OWA to see if the Free/Busy information shows correctly
    If you are using Cached Exchange Mode in Outlook and having trouble getting the Free/Busy information, please logon OWA, or switch to Online Mode to see if the Free/Busy information shows correctly.
    If the Free/Busy information shows correctly on OWA or in Online Mode, this problem may be caused by the Outlook Data File(.ost) corruption, which leads to the sync failure. Therefore we should exist Outlook, browse to the Data File and rename it to “.old”.
    The next time Outlook starts, it will regenerate a Data File to sync and we can check if the Free/Busy information can be retrieved.
    The location of the Data File can be found from File tab ->
    Account Settings -> Account Settings ->
    Data Files tab. (Outlook 2010 and Outlook 2013)
    Or Tools menu -> Options ->
    Mail Setup tab -> E-mail Account -> Account Settings window ->
    Data Files tab. (Outlook 2007)
    If on OWA it displays fine but doesn’t show the information correctly in neither Cached Exchange Mode nor Online Mode, it may be caused by the firewall or anti-virus settings, disable them to verify if they caused the problem.
    Method 3: Check the user’s Permission Level when only one user’s Free/Busy information can’t be displayed
    When a user has set his Calendar Permission to None, other people will not be able to see his Free/Busy information. When we notice that we can get most people’s Free/Busy information but fail to get one specific person’s, please consider
    to check his Calendar Permission:
    In that user’s Outlook, right click on his default Calendar, click Properties, select
    Permissions tab.
    We need to at least switch the Permission to Free/Busy time to get his Free/Busy information correctly.
    Other cause 1: Autodiscover has not been setup correctly
    From Outlook 2007, Outlook uses Autodiscover to get the Free/Busy information. Once Autodiscover has not been configured properly, the Free/Busy information may not display correctly. If you are also seeing issues with Out of Office assistant, we may assume
    that you haven’t correctly setup Autodiscover, since these two symptoms are common when Autodiscover is not configured correctly.
    To verify that, please test Outlook Autodiscover Connectivity:
    http://technet.microsoft.com/en-us/library/bb123573.aspx
    We can also learn Configure Exchange Services for the Autodiscover Service from:
    http://technet.microsoft.com/en-us/library/bb201695.aspx
    Since Autodiscover Service is more Exchange related, we need to seek Exchange support and post the question in Exchange forum:
    http://social.technet.microsoft.com/Forums/exchange/en-US/home?category=exchangeserver
    Other cause 2: Updates
    Although Updates from Microsoft do no harm to the system for most of the time, the updates sometimes can mess things up.
    Outlook 2013 November 2013 security update once became the culprit that caused some users not able to retrieve Free/Busy information from calendar scheduling. This occurs because Autodiscover fails for Exchange 2007 configurations. So in fact, this also
    refers to the previous reason, Autodiscover is corrupted.
    The fix for the issue above has been released:
    http://support.microsoft.com/kb/2850061/en-us
    Once you have some issues after updating and doubt it’s an update issue, you can always come to our forum to ask if there’s a recent update which causes the problem, we will be happy to support you. If a fix hasn’t been released yet, we suggest you uninstall
    the suspicious ones from Control Panel -> Programs and Features ->
    View installed updates to verify which caused the problem, also as a workaround.
    Summary
    The reason that we can’t get the correct Free/Busy information can vary. If you find it doesn’t work even after several general troubleshooting steps, please consider it’s Autodiscover related. For anyone who comes up against the issue that Free/Busy information
    can’t be retrieved, please feel free to visit Outlook IT Pro Discussions from the URL:
    http://social.technet.microsoft.com/Forums/office/en-US/home?forum=outlook, we will be glad to help you.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    You should be charged, but that confirms the account.  Same behavior with the app store...have to give login info evem for free downloads.

  • [Forum FAQ] Customize the Navigation Bar in Outlook 2013

    In Outlook 2013, the Navigation Bar is a gray bar which lists commands at the bottom of the Outlook window that enable you to quickly navigate to Mail, Calendar, People, and Tasks.
    You can change the Navigation Bar settings for a single user by clicking
    … and then Navigation Options. For more information, please refer:
    http://office.microsoft.com/en-us/outlook-help/change-what-appears-on-the-navigation-bar-HA102838974.aspx
    However, if you want to change the Navigation Bar settings for all users in your organization, you’ll need to modify the registry.
    Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that
    you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry
    http://support.microsoft.com/kb/322756.
    To modify the Compact view
    To maximize the vertical height of the Outlook window you can use Compact Navigation. We can change the setting by creating the
    ABCompact registry key. To do this, please follow the steps:
    1. Press Windows key + R to open the Run command, type regedit
    and press Enter to open the Registry Editor.
    2. Locate the following registry path:
    HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Options
    3. Right-click on the Options folder and select NEW > KEY, name it
    WunderBar.
    4. Select the WunderBar key, right-click on it and select
    NEW > DWORD (32-bit) Value and name it ABCompact.
    Value name: ABCompact
    Value type: DWORD (32-bit)
    Value: 1 to tick the Compact Navigation;
    0 to untick it.
    5. Restart Outlook to make the change.
    To modify the Maximum number of visible items
    To change how many views appear on the Navigation Bar, you need to change the number for Maximum number of visible items by modifying the
    NumBigModulesAB registry key.
    Value path: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preferences
    Value name: NumBigModulesAB
    Value type: REG_DWORD
    Value: 1-8
    The key doesn’t exist by default. When the value is set to 1, only
    Mail will appear on the Navigation Bar. If the value is set to
    8, all views will appear.
    To modify which view is turned on or off
    You can also turn one or more views off from the Navigation Bar. This is controlled by a registry string named
    ModuleVisible15.
    Value path: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preferences
    Value name: ModuleVisible15
    Value type: REG_SZ
    Value: 1,1,1,1,1,1,1,0,0
    By default, the string value is set to 1,1,1,1,1,1,1,0,0.
    1 means the view is turned on while 0 means the view is turned off. Moreover, the value correspond one-to-one with the views, for example, the first “1” correspond to
    Mail, and the second “1” correspond to
    Calendar… By default, the eighth and ninth view is turned off. The eighth is
    Journal and I have no idea what the ninth number stands for. You can open Journal by pressing Ctrl+8, but if you want it to appear on Navigation Bar, you can change the eighth “0” to “1”.
    To modify the view order
    If you want to switch the positions of Mail and Calendar, you’ll need to modify the
    ModuleOrderAB string.
    Value path: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preferences
    Value name: ModuleOrderAB
    Value type: REG_SZ
    Value: 1,2,3,4,5,6,7,8,9
    The default order for the Navigation Bar is:
    Mail  Calendar  People  Tasks  Notes  Folders  Shortcuts 
    Journal
    In the registry string there are 9 numbers (1~9), let’s just ignore 9. So, there are 8 numbers left and each number has some relationships to each Navigation item.
    Here is the logic:
    There are 8 Navigation Options. Let’s say ‘Mail’ is Nav1, Calendar is Nav2, People is Nav3, …, Shortcut is the Nav7 and Journal is Nav8.
    Meanwhile, there are 8 positions to put those 8 Navigation items, we name them
    position1 to position8, from left to right.
    For example,    CALENDAR  TASKS  PEOPLE  FOLDERS  MAIL  NOTES  SHORTCUTS 
    Journal
    ModuleOrderAB=    5                
    1              3               
    2              6           
    4                
    7                   
    8
    The number “5” is in the first position of the ModuleOrderAB string and it takes
    position1. The default navigation option for position1 is
    Mail.
    So, “5” means put Nav1 (Mail) on position5.
    “1” is on position2, default navigation item on
    position2 is Calendar. It means put Calendar on
    position1.
    So, “3” means put People on position3; “2” means put
    Task on position2… and so on.
    If you have more questions, welcome to post in the forum. Thank you.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    There isn't a built in way to do that since all the navigation toolbars are on one toolbar.
    You can restore this functionality by installing the Classic Theme Restorer add-on
    *https://addons.mozilla.org/en-US/firefox/addon/classicthemerestorer/

Maybe you are looking for