Custom pipeline component creates the folder name to archive messages

Hi 
I have an requirement that a BizTalk application is receiving untyped messages and at the receive location the pipeline have to archive the incoming message with the specifications:
suppose I have an xml like
      <PurchaseOrder>
        <OrderId>1001</OrderId>
        <OrderSource>XYZ</OrderSource>
        <Code>O01</Code>
      </PartyType>
In the pipeline component it has to read this xml and have to use OrderSource value 'XYZ' to create a archival folder and the message have to archive with file name '%MessageId%'
It has to be done by writing custom pipeline component where I am not familiar with c# coding, Can anyone please how to implement mechanism.
Thanks In Advance
Regards
Arun
ArunReddy

Hi Arun,
Use
BizTalk Server Pipeline Component Wizard to create a decode pipeline component for receive. Install this wizard. This shall help you to create the template project for your pipeline component stage.
Use the following code in the Execute method of the pipeline component code. This code archives the file based with name of the file name received.
public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(Microsoft.BizTalk.Component.Interop.IPipelineContext pc, Microsoft.BizTalk.Message.Interop.IBaseMessage inmsg)
MemoryStream tmpStream = new MemoryStream();
try
string strReceivedFilename = null;
DateTime d = DateTime.Now;
try
//Get the file name
strReceivedFilename = inmsg.Context.Read("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties").ToString();
if (strReceivedFilename.Contains("\\"))
strReceivedFilename = strReceivedFilename.Substring(strReceivedFilename.LastIndexOf("\\") + 1, strReceivedFilename.Length - strReceivedFilename.LastIndexOf("\\") - 1);
catch
strReceivedFilename = System.Guid.NewGuid().ToString();
originalStream = inmsg.BodyPart.GetOriginalDataStream();
int readCount;
byte[] buffer = new byte[1024];
// Copy the entire stream into a tmpStream, so that it can be seakable.
while ((readCount = originalStream.Read(buffer, 0, 1024)) > 0)
tmpStream.Write(buffer, 0, readCount);
tmpStream.Seek(0, SeekOrigin.Begin);
//ToDo for you..
//Access the receive message content using standard XPathReader to access values of OrderSource and construct file pathAccess the receive message content using standard XPathReader to acceess values of OrderSource and contruct the file path
string strFilePath = //Hold the value of the file path with the value of OrderSource
string strCurrentTime = d.ToString("HH_mm_ss.ffffff");
strFilePath += "\\" + strReceivedFilename + "_";
FileStream fileStream = null;
try
System.Threading.Thread.Sleep(1);
fileStream = new FileStream(strFilePath + strCurrentTime + ".dat", FileMode.CreateNew);
catch (System.IO.IOException e)
// Handle the exception, it must be 'File already exists error'
// Wait for 10ms, change the file name and try creating the file again
// If the second 'file create' also fails, it must be a genuine error, it'll be thrown to BTS engine
System.Threading.Thread.Sleep(10);
strCurrentTime = d.ToString("HH_mm_ss.ffffff"); // get current time again
string dtcurrentTime = DateTime.Now.ToString("yyyy-MM-ddHH_mm_ss.ffffff");
fileStream = new FileStream(strFilePath + strCurrentTime + ".dat", FileMode.CreateNew);
while ((readCount = tmpStream.Read(buffer, 0, 1024)) > 0)
fileStream.Write(buffer, 0, readCount);
if (fileStream != null)
fileStream.Close();
fileStream.Dispose();
if (originalStream.CanSeek)
originalStream.Seek(0, SeekOrigin.Begin);
else
ReadOnlySeekableStream seekableStream = new ReadOnlySeekableStream(originalStream);
seekableStream.Position = 0;
inmsg.BodyPart.Data = seekableStream;
tmpStream.Dispose();
catch (Exception ex)
System.Diagnostics.EventLog.WriteEntry("Archive Pipeline Error", string.Format("MessageArchiver failed: {0}", ex.Message));
finally
if (tmpStream != null)
tmpStream.Flush();
tmpStream.Close();
if (originalStream.CanSeek)
originalStream.Seek(0, SeekOrigin.Begin);
return inmsg;
In the above code, you have do a section of code which will access the receive message content using standard XPathReader to access values of OrderSource and construct the file path. I have
commented the place where you have to do the same. You can read the XPathReader about here..http://blogs.msdn.com/b/momalek/archive/2011/12/21/streamed-xpath-extraction-using-hidden-biztalk-class-xpathreader.aspx
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Similar Messages

  • Why does the display name in older messages change if I update my address book for that E-mail address?

    I have recently installed Thunderbird 24.5.0 after upgrading a WinXP machine to Win7. I have discovered a strange problem with older mail that was imported from Outlook Express 6.
    The pastor of my church uses a generic E-mail address <[email protected]>. This address belongs to the position, not to an individual. We recently had a new pastor come to the church, and I updated my entry for this E-mail address to reflect the new person's name. This is fine for new mail sent since the new person arrived, but Thunderbird has also applied the new name to older mail from the previous pastor. This is very confusing, since the current pastor could not have sent mail from that address prior to her start date.
    How can I get Thunderbird to stop changing the Display Name in archival messages that were sent by the previous pastor prior to September 01, 2013? I have not encountered this situation before using Netscape 4.x Mail, Outlook Express 6, and Windows Mail (Vista version).

    Of course it does. It looks for a match between the sender's email address and a Contact in your address book. You've edited the Display Name for this account so it gets applied to any message with that email address if that's how your Address Book is configured.
    In the Contact card for this address, you can tell it whether or not to use the "real" email address within the message, or the Display Name from your Address Book. Telling it to use the name found in the message ''might'' resolve this, but it depends on how the sender has formatted it. If he includes his name then Thunderbird should be able to resolve it, and you just add both configurations to your Address Book as two separate Contacts, rather than modifying the existing entry.
    However, in this situation you're using the same email address for two distinct people, so Thunderbird may not be able to know who sent the old messages. If both have sent using "rector&#64;stpeterscobourg.org" without any personalization then Thunderbird won't be able to differentiate between them.
    I have to say that I haven't recently tried using different display names with the same email address, so I don't know for sure if TB can use the display name constructively. If there's nothing in the old messages to tell you which sender wrote them, then TB can't do anything about it.

  • Unable to add the Custom Pipeline component in to the Visual Studio Tool Box

    I have tried to create the custom Pipeline component to transfer the large message in Receive side,
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.IO;
    using Microsoft.BizTalk.Message.Interop;
    using Microsoft.BizTalk.Component.Interop;
    namespace Sample.LargeFilesDecoder
    [ComponentCategory(CategoryTypes.CATID_PipelineComponent)]
    [ComponentCategory(CategoryTypes.CATID_Encoder)]
    [System.Runtime.InteropServices.Guid("25984614-BCFD-4c47-82FC-4A2300B76411")]
    public class LargeFilesDecoder : IBaseComponent,
    IComponentUI,
    IComponent,
    IPersistPropertyBag
    #region IBaseComponent Members
    public string Description
    get
    return "Pipeline component used to receive Larger Files through SFTP Ports";
    public string Name
    get
    return "LargeFilesDecoder";
    public string Version
    get
    return "1.0.0.0";
    #endregion
    #region IComponentUI Members
    public IntPtr Icon
    get
    return new System.IntPtr();
    public System.Collections.IEnumerator Validate(object projectSystem)
    return null;
    #endregion
    #region IPersistPropertyBag Members
    private string _largeFileLocation;
    private int _thresholdSize;
    public string LargeFileLocation
    get { return _largeFileLocation; }
    set { _largeFileLocation = value; }
    public int ThresholdSize
    get { return _thresholdSize; }
    set { _thresholdSize = value; }
    public void GetClassID(out Guid classID)
    classID = new Guid("DBA77DFA-5D3E-4B85-8F78-1D6330B6BCA0");
    public void InitNew()
    public void Load(IPropertyBag propertyBag, int errorLog)
    object val1 = null;
    object val2 = null;
    try
    propertyBag.Read("LargeFileLocation", out val1, 0);
    propertyBag.Read("ThresholdSize", out val2, 0);
    catch (ArgumentException)
    catch (Exception ex)
    throw new ApplicationException("Error reading PropertyBag: " + ex.Message);
    if (val1 != null)
    _largeFileLocation = (string)val1;
    if (val2 != null)
    _thresholdSize = (int)val2;
    public void Save(IPropertyBag propertyBag, bool clearDirty, bool saveAllProperties)
    object val1 = (object)_largeFileLocation;
    propertyBag.Write("LargeFileLocation", ref val1);
    object val2 = (object)_thresholdSize;
    propertyBag.Write("ThresholdSize", ref val2);
    #endregion
    #region IComponent Member
    public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)
    if (_largeFileLocation == null || _largeFileLocation.Length == 0)
    _largeFileLocation = Path.GetTempPath();
    if (_thresholdSize == null || _thresholdSize == 0)
    _thresholdSize = 4096;
    if (pInMsg.BodyPart.GetOriginalDataStream().Length > _thresholdSize)
    Stream originalStream = pInMsg.BodyPart.GetOriginalDataStream();
    string largeFilePath = _largeFileLocation + pInMsg.MessageID.ToString() + ".msg";
    FileStream fs = new FileStream(largeFilePath, FileMode.Create);
    // Write message to disk
    byte[] buffer = new byte[1];
    int bytesRead = originalStream.Read(buffer, 0, buffer.Length);
    while (bytesRead != 0)
    fs.Flush();
    fs.Write(buffer, 0, buffer.Length);
    bytesRead = originalStream.Read(buffer, 0, buffer.Length);
    fs.Flush();
    fs.Close();
    // Create a small xml file
    string xmlInfo = "<MsgInfo xmlns='http://Sample.LargeFilesDecoder'><LargeFilePath>" + largeFilePath + "</LargeFilePath></MsgInfo>";
    byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(xmlInfo);
    MemoryStream ms = new MemoryStream(byteArray);
    pInMsg.BodyPart.Data = ms;
    return pInMsg;
    #endregion
    I have
    Added .dll file in to the Global Assembly Cache (use gacutil)
    Copied it the Pipeline Components folder (E:\Program Files (x86)\Microsoft BizTalk Server 2013\Pipeline Components)
    Everything was successful, when I try to add the component to the Toolbox I get the message like below and cannot find the component in Toolbox.
    Tried several times but still getting stuck in the same place. I am using Visual Studio 2013. Any help is greatly appreciated.

    Do not put the Assembly in the %\Pipeline Components folder.  Pipeline Component Assemblies should be in the GAC only.
    To correctly deploy a custom Pipeline Component, you can follow the steps in this Wiki Article:
    http://social.technet.microsoft.com/wiki/contents/articles/26404.biztalk-deploying-custom-pipeline-components-in-biztalk-server-2006-and-higher.aspx
    I have never seen that specific error before.  Are you sure you're browsing from the Pipeline Components tab?

  • Custom Pipeline Component error

    I have created a custom pipeline component which references a template file on the local drive e.g. c:\test\template.xlsx.  however when I run the application the Send pipeline fails Reason: 'c:\test\template.xlsx' could not be found. 
    It does exist, everything is spelt correctly and the host account has access to the folder.  Why can't the component see it?
    ----------------<0>----------------
    http://redeyedmonster.co.uk
    ----------------<0>----------------

    I tried a code as highlighted by Rachit, but I don’t see issue as the referred blog suggest.
    Coming to questioners code, I created a quick pipeline component which uses a dll for
    Microsoft.Office.Interop.Excel
    accessing the excel files and does something with Excel file.
    Few things I want to highlight here.
    If the questioner (RedEyeMonster) is using the same dll (Microsoft.Office.Interop.Excel)
    in the pipeline component as I used, then I am afraid Workbooks.Open’s component doesn’t just take one parameter as shown.
    Open method doesn’t have any overloaded methods. It takes few parameter and its worth checking each one on them.Some of the parameter are very important and could cause issues (like
    ReadOnly , IgnoreReadOnlyRecommended, Editable etc). As said, the
    Workbooks .Open method doesn’t just have template file location parameter. It’s worth reviewing the code again.
    Microsoft.Office.Interop.Excel.Application excelApplication = new Microsoft.Office.Interop.Excel.Application();
    //When I tried without the following couple of lines, my program waited for long time and crashed
    excelApplication.DisplayAlerts = false;
    excelApplication.Visible = true;
    Microsoft.Office.Interop.Excel.Workbook excelWorkboook = excelApplication.Workbooks.Open(@"C:\MRAshwinPrabhu\TestExcel.xsl", 2, false,
    5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "",
    false, false, 0, false, true, 0);
    While trying the code, I create a excel file as extension *.xls (older version of Excel 97-2003 workbook) and in the code I tried to open the file as “C:\foldername\FileName.xlsx”.
    *.xls and *.xlsx are different, though in the folder the excel icon may look similar they are different file extensions. I for the same error as the questioner.
    Also issue I faced while trying this is “DisplayAlerts”
    property. When I tried without setting this property to false, my program just waited for long time and crached evently. So when you use in a program like pipeline where you don’t have UI, ensure this property is set to false.
    Hope the above suggest would help the questioner.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Custom Pipeline Component stopped changing input filename

    Hi
    In my project, I have a custom pipeline component to change the input file name. I use it in the receive pipeline decode stage. It was working initially when I had only a receive pipeline and custom pipeline component in my solution. later I introduced
    two schemas, an orchestration, map and a send pipeline. The rename is not working anymore. Please help.
    receive adapter: FILE
    send adapter: FTP
    Custom pipeline component: (File Name Setter)
    Receive pipeline:
      decode: custom pipeline component to rename the filename
      disassemble: flatfile disassembler conecting to a document schema
    Map:
      Schema 1 to Schema 2 (transforms from Windows to Unix format)
    Orchestration:
      receive message
      transform using map above
      send message
      Exception Handler
    Send pipeline:
      FlatFile assembler
    manibest

    May be its not working now, because in the orchestration which you have added,
     you’re constructing a new message from the received message and the context properties from the Received message is not copied across to the newly constructed message. So when you use “%SourceFileName%” macro in the send port,
    the ReceivedFileName context property is missing in the newly constructed message which is sent out.
    So in your Orchestration, while constructing (in MessageAssignment shape) the outbound message from the Received message, copy the context property of the Received message to the newly constructed message. Something like this
    //This line copies all the context properties from received message to the outputted message
    msgOutputted (*)= msgReceived(*)
    //or
    //This line just copies the receive file name context property from received message to the outputted message
    msgOutputted (FILE.ReceivedFileName)= msgReceived (FILE.ReceivedFileName).
    If you’re not using the Orchestration or constructing the new message (even in map), then just add the schemas/orchestration or any pipeline would not affect the ReceiveFileName code. May be in this case, debug the pipeline and also check whether the outputted
    message has ReceivedFileName in its context property.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • BTDF Deployment - Custom Pipeline Component

    If I am deploying manually, I am able to deploy, GAC and get output accordingly.
    1) But when using BTDF, its not getting deployed properly and not receiving any output. What am I doing wrong ?
    2) Before deploying 'RemoveFooter' assembly and adding to PipelineBizTalk Project, how can I add that in tools of Pipeline components to add this 'RemoveFooter' component in Decode stage ?
    In BTDF mentioned this :
    <PropertyGroup>
     <IncludePipelineComponents>true</IncludePipelineComponents>
    </PropertyGroup>
    <ItemGroup>
     <PipelineComponents Include="$(ProjectName).PipelineComponents.dll">
       <LocationPath>..\PipelineComponents\bin\$(Configuration)</LocationPath>
     </PipelineComponents>
    </ItemGroup>
    MBH

    Hi
    MBH,
    The configuration that you mentioned above is totally correct. When you add the custom pipeline component in BTDF it deploys
    to “Pipeline Components” folder and at run time BTS refers the dll from this place.
    Its working for me with the same configuration and I believe it might be other problem related to the actual project.
    JB

  • Is it possible to process a 0kb file within a custom pipeline component?

    Hi There, 
    You probably wondering.. what the hell do you need this for?
    Well.. we have a third party application that process a file as following
    1) Import the original file
    2) Export the original file
    3) Append the original file (with the data I need)
    4) Create a 0 kb file with the original exported filename but added .sem to show me that the export is done.
    So my guessing was to with a custom pipeline component (receive) to pickup the .sem file, and use the original exported file to process the data from within the custom pipeline component. 
    Well, this works perfectly. 
    But... this only works if I add any data to the .sem file. 
    Otherwise BizTalk picks up the .sem file, but does not process it, it actually does not enter the pipeline at all, and it also does not appear in the tracking.
    Is there a possiblity to accept 0kb files within a custom pipeline component?
    Please help, Thanks
    DP 

    Hi,
    Here is an excellent article explaining the behavior of BizTalk for zero Byte files. It can help you achieve your mentioned goal.
    If this answers your question please mark as answer. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Custom Pipeline Component - Deployment Issue

    We have created a custom pipeline component that logs information via ETW. The component was added to a suite of common pipelines that our applications share, as well as to a handful of application specific pipelines that require other custom components
    used only by those applications. I made a change to the component and deployed the DLL to our test environment, added it to the GAC and restarted all of the host instances. The common pipelines all seem to work fine with the new DLL, but for some reason those
    pipelines that are application specific (which use the same version of the DLL) all started generating the "Object reference not set to an instance of the object" error. So I replaced the new DLL with the original version and all of the pipelines
    (common and otherwise) worked okay again. Can anyone tell me what I need to do to get the application specific pipelines to work with the modified DLL?
    Thank you.
    Thanks, Bruce

    Quite certain. The application specific pipelines call public methods that write string data to a log file - they don't pass any parameters - all of that is contained within the component itself. We only changed the content of the data for the internal parameters,
    not the data type, so the signature of the procedures remain the same.
    The original author of the code had the component logging every attribute of the pipeline and received message to the log file which was creating very large and non-useful logs. We only replaced the call to the pc.GetProperties() and inmsg.GetProperties()
    methods (both return string values) with concise strings containing the data we need logged.
    The first version of the pipeline did not contain the GetProperties methods, those were added later and the pipeline was deployed for testing. At that time, all of the application specific pipelines began generating errors that the GetProperties() method
    was not recognized, so we ended up having to go back and rebuild and re-deploy all of the application specific pipelines to use the newer version in order to get them to work. We should not have to go through this much effort to replace a shared
    library, and am hoping we can find a way to deploy it without having to redeploy all of the other pipelines as well.
    We deployed the new pipeline according to Microsoft's recommendations in
     BizTalk: Deploying Custom Pipeline Components in BizTalk Server 2006 and Higher so we are left scratching our heads at this point.
    Thanks, Bruce

  • How to create the folder in LabVIEW 7.1?

    Dear All,
                I need to create the folder in LabVIEW 7.1?.. Then if the folder exsists i need to ceate the new folder with the file name by increate by nemerical number by 1. As well as i need write the data's which i acquired in sepeate test file within that folder itseif. If the file name already exsists i need to create the same file name by increatemet by one in numerical no 1. Any one help to solve this issue?
    Regards,
    Srinivasan.P

    You've asked this question before, and so far have shown nothing to indicate that you've made any attempt to solve the problem by using the tools available to you. Like the functions palette. Or the search tool, since this question has been asked many times before.
    Have you looked in the File I/O palette? There's the New Directory function for creating directories. There the File/Directory Info function that can be used to check if the folder exists (call the function, and if you get error 7 you know the folder doesn't exist). You can also use List Directory on the parent directory.
    Make an effort.

  • How to get the folder name of selected subitem in tree structure?

    Hi All,
               I created a tree structure like below.
             ->Folder1-- 1
                              2
                              3
            ->Folder2-----1
                               2
                               3
                    i.e i have two folders & each folder having the values like above.Now i want to perform some action by clicking on the any of the values.Suppose if i click value 2,i want to do some action.the actions need to perform is varies from floder to to folder.
            So How can i get the folder name of clicked Value?
    Regards,
    Ravi

    Hi Kumar ,
    the below code should help you.
    Register the below action for the leaf node for which u need the subfolder's name above it.
    Worked fine in my system ...hope it does in ur scenario too
    method ONACTIONGET_PATH .
      data : lr_element TYPE REF TO if_wd_context_element,
             lr_node TYPE REF TO if_wd_context_node,
             ls_path type string,
             ls_path_node TYPE string,
             lt_string type TABLE OF string,
             l_lines type i,
             l_lines_1 TYPE i.
      lr_element = wdevent->get_context_element( 'CONTEXT_ELEMENT' ).
    **-> getting the path of the node/leaf
    *which  u had clicked and from that getting the node above it
      ls_path = lr_element->get_path( ).
      SPLIT ls_path at '.' into table lt_string.
    -> remove the first 2 entries as they will contain the view name
      DELETE lt_string FROM 1 to 2.
      l_lines = LINES( lt_String ).
      l_lines_1 = l_lines - 1.
    -> remove the last 2 entries as they will contain the element in the path
      DELETE lt_string  from l_lines_1 to l_lines.
      LOOP AT lt_string into ls_path.
        CONCATENATE LINES OF LT_STRING into ls_path_node SEPARATED BY '.'.
      ENDLOOP.
    **-> getting access to the node above the leaf element
    LR_NODE = WD_CONTEXT->PATH_GET_NODE( path = ls_path_node ).
    lr_element = lr_node->get_element( ).
    **-> Getting the name of the folder...
    *here path is the attribute in my context which stores the name of the folder
    lr_element->get_attribute( EXPORTING name = 'PATH' IMPORTING value = ls_path ).
    endmethod.

  • How to change the folder name in KM

    Hi All,
    As a Enduser I have a got a role who can create His/Her own folder to dump the documents.
    Now my requirement is to change the folder which i have created before......
    It may be root folder or Mid folder.
    Please throw some light on this issue.
    Higher points will be rewarded for the valuable input.
    Thanks in Advance,
    Dharani

    Hi Dharani,
    You can change the folder name using "Rename" option from the context menu of the folder. You can also change the name by selecting Folder -> Details->Actions->Rename.
    Regards,
    Vaishali

  • I'm in iPhone 5.  I transfer photos to a Windows 7 PC, using the USB cable.  Lately, the photos are appearing in Windows Explorer within monthly folders, with gibberish titles.  The folder names will be 8 random letters and numeric characters.  I ten

    I'm in iPhone 5.  I transfer photos to a Windows 7 PC, using the USB cable.  Lately, the photos are appearing in Windows Explorer within monthly folders, with gibberish titles.  The folder names will be 8 random letters and numeric characters.  I tend to let photos build up, so there are about 2 years worth of these monthly folders… Between 20 and 25.  This is a huge hassle… I'm unable to tell what months are in each folder, by the folder name.…  Have to open each folder to see which month is in there.  I want to be able to look at all the photos on the iPhone in one view, as I was able to in the past.  How do I stop this foldering of photos, by months??  Thank you.  BC

    I have the same issue. I searched and finally got only one answer is -- Apple suggest customer using iMAC to transfer and backup photos instead of Windows. How great the solution is it!

  • I am trying to install software and am getting the following prompt.Installation Failed, the installer cant create the folder "var/folders/sq/2fzf3s_d2bzb21159nbwkb2r0000gn/T//install.3732dq0ogT. How do I repair this

    I am trying to install software and am getting the following prompt.
    "Installation Failed, the installer cant create the folder "var/folders/sq/2fzf3s_d2bzb21159nbwkb2r0000gn/T//install.3732dq0ogT.
    How do I repair this

    Back up all data. Don't continue unless you're sure you can restore from a backup, even if you're unable to log in.
    This procedure will unlock all your user files (not system files) and reset their ownership and access-control lists to the default. If you've set special values for those attributes on any of your files, they will be reverted. In that case, either stop here, or be prepared to recreate the settings if necessary. Do so only after verifying that those settings didn't cause the problem. If none of this is meaningful to you, you don't need to worry about it.
    Step 1
    If you have more than one user account, and the one in question is not an administrator account, then temporarily promote it to administrator status in the Users & Groups preference pane. To do that, unlock the preference pane using the credentials of an administrator, check the box marked Allow user to administer this computer, then reboot. You can demote the problem account back to standard status when this step has been completed.
    Triple-click the following line on this page to select it. Copy the selected text to the Clipboard (command-C):
    { sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; sudo chown -R $UID:staff ~ $_ ; sudo chmod -R u+rwX ~ $_ ; chmod -R -N ~ $_ ; } 2> /dev/null
    Launch the Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window (command-V). You'll be prompted for your login password. Nothing will be displayed when you type it. You may get a one-time warning to be careful. If you don’t have a login password, you’ll need to set one before you can run the command. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
    The command will take a noticeable amount of time to run. Wait for a new line ending in a dollar sign (“$”) to appear, then quit Terminal.
    Step 2 (optional)
    Take this step only if you have trouble with Step 1 or if it doesn't solve the problem.
    Boot into Recovery. When the OS X Utilities screen appears, select
    Utilities ▹ Terminal
    from the menu bar. A Terminal window will open.
    In the Terminal window, type this:
    res
    Press the tab key. The partial command you typed will automatically be completed to this:
    resetpassword
    Press return. A Reset Password window will open. You’re not  going to reset a password.
    Select your boot volume ("Macintosh HD," unless you gave it a different name) if not already selected.
    Select your username from the menu labeled Select the user account if not already selected.
    Under Reset Home Directory Permissions and ACLs, click the Reset button.
    Select
     ▹ Restart
    from the menu bar.

  • Restrict Permission to change the Folder name of Cfolder Collaboration

    Hi,
    As a part of my requirement i would like to restrict the users having the 'WRITE' authorizations  from changing the folder name of folders created under the collaboration. It would be great if you any one can provide some inputs to achieve it

    Hello Vikas,
    I can tell you a workaround, how to achieve this.
    as an administrator with admin authorization navigate into a folder press the authorization button and select read authorization for (a) user(s)/user group(s)/role(s) used in the collaboration.
    Then create under the folder a new folder "Workspace" and navigate into this folder press the authorization button and select write authorization for (a) user(s)/user group(s)/role(s) used in the collaboration.
    The procedure could be automated by writing a piece of code, which calls the cFolders APIs:
    http://help.sap.com/saphelp_ppm400/helpdata/en/30/cce8bf627db74fa531f89b9aed229f/frameset.htm
    Regards
    Peter

  • Custom Pipeline Component in BTDF

    I have created a separate c# based custom pipeline component, how should I embed this in BTDF ?
    Want to make sure this is Gac'd and available when I deploy to all other environments ?
    MBH

    I created a c# code Custom Pipeline component for parsing against my flat file schema.
    <PropertyGroup>
     <IncludePipelineComponents>true</IncludePipelineComponents>
     </PropertyGroup>
    <ItemGroup>
     <PipelineComponents Include="$(ProjectName).PipelineComponents.dll">
       <LocationPath>..\PipelineComponents\bin\$(Configuration)</LocationPath>
     </PipelineComponents>
    </ItemGroup>
    But it doesn't appear when I deploy into other environments ? what am I  missing  ?
    MBH

Maybe you are looking for

  • Theme 15 - Click on Splyglass in Interactive Report - broken

    In theme 15 in Apex vers. 4.0.1.00.03 in an interactive report, If I click on the splyglass to pull down a list of the columns to select for the search field, the list of columns appears to be only partially displayed. It only shows the top of the th

  • Problem in printing from EAM Portal

    Hi Expert, We are getting one issue while trying to Print Work Order from EAM Portal, We are getting one blank screen only and no option to print. For Background We have created one Custom program which call IW3D object when click on Print button, Bu

  • Forms are not opening if one of the 2-node 11gR2 DB instance is down

    recently we have upgraded database from 2-node 10gR2 RAC to 2-node 11gR2 instance. But, if one of the instance is down, the forms are not picking up the 2nd node and forms are not opening. Can someone help me to fix this issue as its PROD.

  • Headphones=no sound

    Because of a worm, I had the hard drive erased.  Programs were reinstalled.  I now have no sound with the headphones.  I can hear a ping when tested, but no sound with music through the headphones.  Internal sound seems OK with video with iTunes, Med

  • Can you drag and drop folder names into Photos like iPhoto?

    I use to be able to drag folder of pictures into the sidebar of iPhoto and it would import the photos and put them in a folder with the exact name as the folder on my desktop. Photos does not seem to have th same feature. Does anyone know if this sho