Workflow, comments, and emails

My team is having issues writing one of our first workflows, involving approvals. We have a few
questions.
*1.* We want to send an email to the content reviewer to tell her that there is something in their inbox requiring her attention. How do we implement this?
*2*. We need to insert the approvers comments into the approval/rejection email. How do we accomodate this?
*3.* If I am a page author, and my page has been rejected, assuming the reviewer has entered the reason in the workflow comments, where do I find the comments telling me why it has been rejected?
Thanks for the help!
Phil

Yes, SE63 is used in translating the Adobe forms into other languages (I get to it from either being in the form editor from HRASR_DT or from t-code SFP directly, then from the form, choose "GOTO->Translation" in the top menu. You can go straight from SE63, but getting your form up is a bit trickier)
A few things to keep in mind in SE63....
1) Make sure you are logged in IN THE LANGUAGE YOUR ARE TRANSLATING TOO (ie. target). Otherwise, the editor won't show/allow you the special characters for some languages since it does not have the right codepage in use.
2) The editor control can be buggy. We had issues on SAP GUI 7.10 patch leve 5 and 7. Upgraded to patch level 12 and it works just fine now.
3) The editor will allow you to translate all form elements it has access to (ie. control labels, static text boxes, etc). However, it will NOT let you get to "hardcoded" texts in Javascripts in your form for example. You must find a different solution for this (there are some common ways out there on the net you can search for as well as some folks have posted in the Adobe forums on here).
Hope this helps!

Similar Messages

  • I want to write a script or Automator workflow/app that emails a random shortcut of the day to three recipients. The source is from an Excel spreadsheet. One column is the shortcut, and the second column is the definition. Anyone have experience?

    I want to write a script or Automator workflow/app that automatically emails a random shortcut of the day to three recipients. The source is from an Excel spreadsheet. One column is the shortcut, and the second column is the definition. Anyone have similar experience and know that this would work?

    I have had a first stab at the script, below.  It uses a file to store the shortcuts and command [descriptions].  You should be able to see from the script annotations how to add a new one.  (I populated 1-4 with real data, but got lazy after that, so you have a few placeholders to work with first.
    As I have noted, once you are happy that you have all the data in the file, you can comment out part of the script for ongoing use.  (BTW, my reluctance to use Excel is that I don't currently have it installed and I don't want to offer wrong advice.  If you have Numbers, I do have that and could probably modify to work with a spreadsheet from there.  This might be especially useful if you have the data already sitting in Excel.)
    A few things came-up whilist I was writing the script:
    1.     Currently, all recipients will not only get the same tip at the same time, but they will see the names and email addresses of the others who receive them.  It is possible to modify this.
    2.     I have added a property gRandomCheck which keeps track of which shortcut has already been used (since the last time the script was compiled.  This will prevent the same tip being sent more than once.    When all tips have been sent once, the script will alert you and not send anything until reset.  It does not check on a per-addressee basis (which would be a refinement).  (If you add a new addressee at this stage, the whole process will start again, and you may not really want this to be the behaviour.)
    3.     The way that I have built the list, commandList, is deliberately cumbersome - it's for the sake of clarity.  If you prefer, you can construct the whole list as {{shortcut:"X", command:"X"}, {shortcut:"Y", command:"Y"}}
    Have a look - I am sure you will have questions!
    SCRIPT STARTS HERE  Paste the following lines (thru the end) into a new AppleScript Editor document and press RUN
    --The property gRandomCheck persists between runs and is used to stop sending the same hint twice.
    property gRandomCheck : {}
    --I am defining a file on the desktop.  It doesn't have to be in this location
    set theFolder to path to desktop
    set commandFile to (theFolder as text) & "CommandFile.csv"
    --(* Unless you need to change the file contents you do not need to write to it each time.  Remove the "--" on this line and before the asterisk about 18 lines below
    --Follow this format and enter as many records as you like on a new line - each with a unique name
    set record1 to {shortcut:"Z", command:"Undo"}
    set record2 to {shortcut:"R", command:"Record"}
    set record3 to {shortcut:"⇧R", command:"Record Toggle"}
    set record4 to {shortcut:"⌘.", command:"Discard Recording & Return to Last Play Position"}
    set record5 to {shortcut:"X", command:"x"}
    set record6 to {shortcut:"X", command:"x"}
    set record7 to {shortcut:"X", command:"x"}
    set record8 to {shortcut:"X", command:"x"}
    set record9 to {shortcut:"X", command:"x"}
    set record10 to {shortcut:"X", command:"x"}
    set record11 to {shortcut:"X", command:"x"}
    set record12 to {shortcut:"X", command:"x"}
    set record13 to {shortcut:"X", command:"x"}
    --Make sure you add the record name before randomCheck:
    set commandList to {record1, record2, record3, record4, record5, record6, record7, record8, record9, record10, record11, record12, record13}
    --This part writes the above records to the file each time.
    set fileRef to open for access commandFile with write permission
    set eof of fileRef to 0
    write commandList to fileRef starting at eof as list
    close access fileRef
    --remove "--" here to stop writing (see above)*)
    --This reads from the file
    set fileRef to open for access commandFile with write permission
    set commandList to read fileRef as list
    close access fileRef
    --Here's where the random record is chosen
    set selected to 0
    if (count of gRandomCheck) is not (count of commandList) then
              repeat
                        set selected to (random number from 1 to (count of commandList))
                        if selected is not in gRandomCheck then
                                  set gRandomCheck to gRandomCheck & selected
                                  exit repeat
                        end if
              end repeat
    else
              display dialog "You have sent all shortcuts to all recipients once.  Recompile to reset"
              return
    end if
    --This is setting-up the format of the mail contents
    set messageText to ("Shortcut: " & shortcut of record selected of commandList & return & "Command: " & command of record selected of commandList)
    tell application "Mail"
      --When you're ready to use, you probably will not want Mail popping to the front, so add "--" before activate
      activate
      --You can change the subject of the message here.  You can also set visible:true to visible:false when you are happy all is working OK
              set theMessage to (make new outgoing message with properties {visible:true, subject:"Today's Logic Pro Shortcut", content:messageText})
              tell theMessage
      --You can add new recipients here.  Just add a new line.  Modify the names and addresses here to real ones
                        make new to recipient with properties {name:"Fred Smith", address:"[email protected]"}
                        make new to recipient with properties {name:"John Smith", address:"[email protected]"}
      --When you are ready to start sending, remove the dashes before "send" below
      --send
              end tell
    end tell

  • Performance management workflow appraisee and appraiser name to be passed in email

    I am working on the performance management workflow. When the manager chooses to require an employee self assessment then an email notification should be triggered to the employee (appraisee) notifying them of the self assessment to be taken.This is my requirement.
    I have copied the standard workflow WS12300113 and customized the workflow to send the notification to the appraisee. I have customized the business object APPR_DOC . I am using the custom event  and the event linkage is activated.
    The manager from MSS select the employee and workflow is triggered. The mail notification will send  a mail to  the appraisee(employee) ,stating
    Dear Appraisee Name,
    Please schedule a meeting for a Crucial Conversation on your Tasks & Targets Setting/Review with your Line Supervisor.
    Kindly update appraisal document with agreements from the meeting.
    Your Appraiser is Appraiser Name.
    Since i am new to workflow , confused with passing the  recipient type(employee) from container an help d the name of the manager and employee name marked in red.
    Kindly help  me out with this

    Hi Paul ,
    Thanks for the concern!
    I created a custom class taking import parameters as appr doc id and plan version.
    I am passing these parameters to HRHAP_APPER table  and fetching the extended id(field id)
    I am passing this extended id to bapi  "BAPI_EMPLCOMM_GETDETAILEDLIST ".
    Here  i am getting multiple entries . using subtype '0001'  i will getting username and
    with subtype '0010' i will get email address of the manager.
    Passing username fetched from above step into bapi HR_GETEMPLOYEEDATA_FROMUSER
    i will get the name of the manager.
    I HAVE DONE BINDING OF METHOD PARAMETERS WITH TASK CONTAINER .ALSO TASK CONTAINER ELEMENTS WITH WORKFLOW CONTAINER ELEMENTS.
    BUT MY CONCERN IS I AM NOT GETTING ANY VALUES FROM HRHAP_APPER TABLE .
    Can you help me with an alternative solution,where i can get user id based on appraisal id and plan version ??

  • Workflow Task Number and Email Description Can't be seen in QA Server

    Dear All,
                I have created a workflow; in which I want to send an email to management personnel, when someone change the quantity of Purchase requisition. It is working quite fine in Development server, but when this workflow is transported to test server, I cannot see the title, task and email description of that wokflow in SWDD. It is transported in 600, but task number description of email and title dissappeared. What can be the problem? What I have to do in this regards.
    Thanks.
    Sohail

    Hi,
    you should've send this to the appropriate forum (the workflow forum)
    I would first start by checking the transport logs to see if indeed everything is present in the QA server.
    Then I would check if everything is up and running in the QA server, espescially the workflow customizing.
    Then I would check if the appropriate background jobs for handling emails is running correctly.
    Then I would test if you can create a simple message in S00 or System-->short message and send that to you.
    If this doesn't solve it or give you directions I would create a message in the workflow forum explaining your situation.
    Kind regards, Rob Dielemans

  • Portal, WorkFlow and Email

    Hi,
    Has anyone sucessfully implemented email notification through Workflow in Portal Release 2?
    I logged a TAR and support claim they cannot track down any documentation.
    Any help is much appreciated.
    Thanks,
    Sonny

    mail has to send to user's portal inbox and email id assigned to user
    Not sure if you want a email or SAP mail. Can you clarify the above statement?
    If you want to send a notification mail which needs to be displayed in UWL
    Search for keyword SONIC in this forum and blogs section. You will get the solution
    If you want to send a notification email to the email id of the user
    You need to determine the email id of the user and use the sendmail step to send email (your SCOT settings need to be condigured by your BASIS team)
    Thanks,
    Prasath N

  • SCSM 2012 R2- Workflows not generating email notifications and other issues

    hace tres días que no corren mis flujos de trabajo en SCSM 2012, veo el visor de eventos y lo único que conisgo es el siguiente error:
    The request to synchronize state for OpsMgr Health Service identified by "f85f05c3-0e7b-d49d-b849-98faad4ad74a" failed due to the following exception "Microsoft.EnterpriseManagement.Common.DataItemDoesNotExistException: An instance was deleted
    before its properties could be read.
       at Microsoft.Mom.ConfigService.SvcMgrDataAccess.ConfigurationDataAccessor.QueryInstanceProperties(ReadOnlyCollection`1 instances)
       at Microsoft.Mom.ConfigService.DataAccess.DatabaseAccessor.QueryInstanceProperties(ReadOnlyCollection`1 instances)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.ConfigurationItems.Instances.CollectPublicProperties(ReadOnlyCollection`1 identities, IConfigurationDataAccessor dataAccessor)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.ConfigurationItems.ConfigurationItemCollection`2.CollectPublicProperties(IConfigurationDataAccessor dataAccessor)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.ConfigurationItems..ctor(StateContext stateContext, IConfigurationDataAccessor dataAccessor)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.CreateResponse(Managers managers)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.Managers.Synchronize(OnDoSynchronizedWork onDoSynchronizedWork)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.Execute(Managers managers)
       at Microsoft.Mom.ConfigService.Engine.ConfigurationEngine.CommunicationHelper.StateSyncRequestTask.Run(Guid source, String cookie, Managers managers, IConfigurationDataAccessor dataAccessor, Stream stream, IConnection connection)".
    Como puedo hacer para  volver a instalar los MP de flujos de trabajo, he borrado cache peor sin éxito.

    Iffectatodosworkflowsfrom the dayJuly 18began tofail andno longersendingnotifications, I have reviewedthe
    databasewithqueries thatprovideSubscriptionStatus.sql
    WorkflowPerformanceTroubleshootingQueriesV2
    and I note thatit isthe difference betweenucha Workflow Watemark and Trasaction Log Watermark

  • Dynamic CRM 2013 Online how to execute Report, generate PDF and email

    Dear All,
    I am using Dynamic CRM 2013 online. For quote, I have workflow and Dialogue processes for review process. On approval, I want the system to generate a PDF of quote report, attach the PDF and email it to the Customer.
    Better I would like, When approver, clicks on the approve button, the system should auto generate a PDF of quote report, attach the PDF and email it to the Customer, without any further input from the user. If its not possible, I may have to put button on
    quote form.
    I am using the attached code, but facing various issues.
    1. Under prepare the SOAP Message coding part, I am not sure what should be the below URL for CRM 2013 Online?
    xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
    2. What should be the emailid here? Is it Recepient Contact id(Guid) ?
    var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
    alert("emailid" + emailid.toString());
    3. Using this code, not able to create Entity for "ActivityMimeAttachment", I am getting newEntity as undefined.
    Below is the code I am using. Please check and help me out, where I am going wrong. Let me know if any better way to implement it. At present, I have put one button on quote form, on click event, below code will get executed.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <script type="text/javascript">
    var Xrm;
    if (window.opener) { Xrm = window.opener.Xrm; }
    else if (window.parent) { Xrm = window.parent.Xrm; }
    function getReportingSession() {
    var reportName = "Quotation_Report"; //set this to the report you are trying to download
    var reportId = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
    var recordid = Xrm.Page.data.entity.getId();
    // recordid = recordid.substring(1, 37); //getting rid of curly brackets
    alert(recordid);
    var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
    var retrieveEntityReq = new XMLHttpRequest();
    retrieveEntityReq.open("POST", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    retrieveEntityReq.send("id=%7B" + reportId + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" + reportName + "&isScheduledReport=false");
    var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
    var ret = new Array();
    ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
    x = retrieveEntityReq.responseText.indexOf("ControlID=");
    ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
    return ret;
    function createEntity(ent, entName, upd) {
    var jsonEntity = JSON.stringify(ent);
    var createEntityReq = new XMLHttpRequest();
    var ODataPath = Xrm.Page.context.getServerUrl() + "XRMServices/2011/OrganizationData.svc";
    createEntityReq.open("POST", ODataPath + "/" + entName + "Set" + upd, false);
    createEntityReq.setRequestHeader("Accept", "application/json");
    createEntityReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    createEntityReq.send(jsonEntity);
    var newEntity = JSON.parse(createEntityReq.responseText).d;
    alert("new entity" + newEntity);
    return newEntity;
    function createAttachment() {
    var params = getReportingSession();
    var recordid = Xrm.Page.data.entity.getId();
    alert("recordid " + recordid);
    var orgName = Xrm.Page.context.getOrgUniqueName();
    var userID = Xrm.Page.context.getUserId();
    //create email record
    // Prepare the SOAP message.
    var xml = "<?xml version='1.0' encoding='utf-8'?>" +"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'" +
    " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" +
    " xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
    "<soap:Header>" +
    "</soap:Header>" +
    "<soap:Body>" +
    "<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
    "<entity xsi:type='email'>" +
    "<regardingobjectid type='quote'>" + recordid + "</regardingobjectid>" +
    "<subject>" + "Email with Attachment4" + "</subject>" +
    "</entity>" +
    "</Create>" +
    "</soap:Body>" +
    "</soap:Envelope>";
    // Prepare the xmlHttpObject and send the request.
    var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
    xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
    xHReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Create");
    xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    xHReq.setRequestHeader("Content-Length", xml.length);
    xHReq.send(xml);
    // Capture the result
    var resultXml = xHReq.responseXML;
    // alert("resultXml " + resultXml);
    // Check for errors.
    var errorCount = resultXml.selectNodes('//error').length;
    if (errorCount != 0) {
    alert("ERROR");
    var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
    alert(msg);
    var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
    alert("emailid" + emailid.toString());
    //var emailid = userID;
    var post = Object();
    post.Body = encodePdf(params);
    var email = new Array();
    email[0] =new Object();
    email[0].id = emailid;
    email[0].entityType ='email';
    post.Subject ="File Attachment";
    post.AttachmentNumber = 1;
    post.FileName ="Report.pdf";
    post.MimeType ="application/pdf";
    post.ObjectId = Object();
    post.ObjectId.LogicalName ="email";
    post.ObjectId.Id = email[0].id;
    post.ObjectTypeCode ="email";
    alert(post.ObjectId.Id);
    createEntity(post,"ActivityMimeAttachment", "");
    alert("created successfully");
    email.Subject = "Your Order";
    //Set The current order as the Regarding object
    email.RegardingObjectId = {
    Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
    //Create Email Activity
    SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
    // Email Call Back function
    function EmailCallBack(result) {
    email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
    var activityPartyFrom = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyFrom.PartyId = {
    Id: customerId, // id of entity you want to associate this activity with.
    LogicalName: "contact"
    // Set the "activity" of the ActivityParty
    activityPartyFrom.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
    // Create the from ActivityParty for the email
    SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
    var activityPartyTo = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyTo.PartyId = {
    Id: ownerId, // id of entity you want to associate this activity with.
    LogicalName: "systemuser"
    // Set the "activity" of the ActivityParty
    activityPartyTo.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity). activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
    // Create the from ActivityParty
    SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
    //ActivityParty From Callback
    function ActivityPartyFromCallBack(result) {
    //ActivityParty To Callback
    function ActivityPartyToCallBack(result) {
    var StringMaker = function () {
    this.parts = [];
    this.length = 0;
    this.append = function (s) {
    this.parts.push(s);
    this.length += s.length;
    this.prepend = function (s) {
    this.parts.unshift(s);
    this.length += s.length;
    this.toString = function () {
    return this.parts.join('');
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    function encode64(input) {
    var output = new StringMaker();
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;
    while (i < input.length) {
    chr1 = input[i++];
    chr2 = input[i++];
    chr3 = input[i++];
    enc1 = chr1 >> 2;
    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    enc4 = chr3 & 63;
    if (isNaN(chr2)) {
    enc3 = enc4 = 64;
    else if (isNaN(chr3)) {
    enc4 = 64;
    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
    return output.toString();
    var bdy = new Array();
    var bdyLen = 0;
    function concat2Bdy(x) {
    bdy[bdyLen] = x;
    bdyLen++;
    function encodePdf(params) {
    bdy = new Array();
    bdyLen = 0;
    var retrieveEntityReq = new XMLHttpRequest();
    var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] + "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] + "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
    retrieveEntityReq.open("GET", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.send();
    BinaryToArray(retrieveEntityReq.responseBody);
    return encode64(bdy);
    </SCRIPT>
    <SCRIPT type=text/vbscript>
    Function BinaryToArray(Binary)
    Dim i
    ReDim byteArray(LenB(Binary))
    For i = 1 To LenB(Binary)
    byteArray(i-1) = AscB(MidB(Binary, i, 1))
    concat2Bdy(AscB(MidB(Binary, i, 1)))
    Next
    BinaryToArray = byteArray
    End Function
    </SCRIPT>
    </head>
    <body>
    <input type="button" onclick="createAttachment();" value="Attach Report" />
    </body>
    </html>
    Thanks. and waiting for your valuable comments.
    - Mittal

    Hello,
    Yes, I was able to make my code working as below. Tested on CRM online 2013.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
    <script type="text/javascript">
    if (typeof (SDK) == "undefined")
    { SDK = { __namespace: true }; }
    SDK.JScriptRESTDataOperations = {
    _context: function () {
    if (typeof GetGlobalContext != "undefined")
    { return GetGlobalContext(); }
    else {
    if (typeof Xrm != "undefined") {
    return Xrm.Page.context;
    else { return new Error("Context is not available."); }
    _getServerUrl: function () {
    var serverUrl = this._context().getServerUrl()
    if (serverUrl.match(/\/$/)) {
    serverUrl = serverUrl.substring(0, serverUrl.length - 1);
    return serverUrl;
    _ODataPath: function () {
    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
    _errorHandler: function (req) {
    return new Error("Error : " +
    req.status + ": " +
    req.statusText + ": " +
    JSON.parse(req.responseText).error.message.value);
    _dateReviver: function (key, value) {
    var a;
    if (typeof value === 'string') {
    a = /Date\(([-+]?\d+)\)/.exec(value);
    if (a) {
    return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
    return value;
    Create: function (object, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 201) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send(JSON.stringify(object));
    Retrieve: function (id, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 200) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    Update: function (id, object, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("X-HTTP-Method", "MERGE");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 204 || this.status == 1223) {
    successCallback();
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send(JSON.stringify(object));
    Delete: function (id, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("X-HTTP-Method", "DELETE");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 204 || this.status == 1223) {
    successCallback();
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
    if (filter != null) {
    filter = "?" + filter;
    else { filter = ""; }
    var req = new XMLHttpRequest();
    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 200) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    __namespace: true
    </script>
    <script type="text/javascript">
    //Create Email and link it with Order as Regarding field
    var Xrm;
    var email = new Object();
    var ownerID = "";
    var CustomerId = "";
    if (window.opener) { Xrm = window.opener.Xrm; }
    else if (window.parent) { Xrm = window.parent.Xrm; }
    //Get ownerid who send email of quotation to customer
    function GetOwnerID() {
    var owner = Xrm.Page.getAttribute("ownerid").getValue();
    ownerID = owner[0].id;
    var ownerName = owner[0].name;
    var entityType = owner[0].entityType;
    GetToEmailGUID();
    //Get customerid who receive email of quotation from owner
    function GetToEmailGUID() {
    var Customer = Xrm.Page.getAttribute('customerid').getValue();
    CustomerId = Customer[0].id;
    var CustomerName = Customer[0].name;
    var entityType = Customer[0].entityType;
    //if CustomerId is type of "Account" then get Primary Contact id of that account
    if (entityType == "account") {
    var contact = Xrm.Page.getAttribute("customerid").getValue();
    if (contact === null) return;
    var serverUrl = Xrm.Page.context.getClientUrl();
    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
    var req = new XMLHttpRequest();
    req.open("GET", oDataSelect, false);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
    req.onreadystatechange = function () {
    if (req.readyState === 4) {
    if (req.status === 200) {
    var retrieved = JSON.parse(req.responseText).d;
    CustomerId = retrieved.PrimaryContactId.Id;
    else {
    alert(this.statusText);
    req.send();
    function CreateEmail() {
    GetOwnerID();
    email.Subject = "Email with Report Attachment";
    //Set The current order as the Regarding object
    email.RegardingObjectId = {
    Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
    //Create Email Activity
    SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
    // Email Call Back function
    function EmailCallBack(result) {
    email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
    var activityPartyFrom = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyFrom.PartyId = {
    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
    LogicalName: "contact"
    // Set the "activity" of the ActivityParty
    activityPartyFrom.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
    // Create the from ActivityParty for the email
    SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
    var activityPartyTo = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyTo.PartyId = {
    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
    LogicalName: "systemuser"
    // Set the "activity" of the ActivityParty
    activityPartyTo.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
    // Create the from ActivityParty
    SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
    //ActivityParty From Callback
    function ActivityPartyFromCallBack(result) {
    //ActivityParty To Callback
    function ActivityPartyToCallBack(result) {
    GetReportId('Quotation');
    //Create attachment for the created email
    function CreateEmailAttachment() {
    //get reporting session and use the params to convert a report in PDF
    var params = getReportingSession();
    //Email attachment parameters
    var activitymimeattachment = Object();
    activitymimeattachment.ObjectId = Object();
    activitymimeattachment.ObjectId.LogicalName = "email";
    activitymimeattachment.ObjectId.Id = email.ActivityId;
    activitymimeattachment.ObjectTypeCode = "email",
    activitymimeattachment.Subject = "File Attachment";
    activitymimeattachment.Body = encodePdf(params);
    activitymimeattachment.FileName = "Report.pdf";
    activitymimeattachment.MimeType = "application/pdf";
    //Attachment call
    SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
    //ActivityMimeAttachment CallBack function
    function ActivityMimeAttachmentCallBack(result) {
    var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
    var width = "800px";
    var height = "600px";
    window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
    // To open window which works in outlook and IE both
    //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width, height, features);
    //This method will get the reportId based on a report name that will be used in getReportingSession() function
    function GetReportId(reportName) {
    var oDataSetName = "ReportSet";
    var columns = "ReportId";
    var filter = "Name eq '" + reportName + "'";
    retrieveMultiple(oDataSetName, columns, filter, onSuccess);
    function retrieveMultiple(odataSetName, select, filter, successCallback) {
    var serverUrl = Xrm.Page.context.getServerUrl();
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
    var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
    if (select) {
    odataUri += "$select=" + select + "&";
    if (filter) {
    odataUri += "$filter=" + filter;
    $.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: odataUri,
    beforeSend: function (XMLHttpRequest) {
    XMLHttpRequest.setRequestHeader("Accept", "application/json");
    success: function (data) {
    if (successCallback) {
    if (data && data.d && data.d.results) {
    successCallback(data.d.results);
    else if (data && data.d) {
    successCallback(data.d);
    else {
    successCallback(data);
    error: function (XmlHttpRequest, errorThrown) {
    if (XmlHttpRequest && XmlHttpRequest.responseText) {
    alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
    function onSuccess(data) {
    reportId = data[0].ReportId.replace('{', ").replace('}', ");
    CreateEmailAttachment(); // Create Email Attachment
    //Gets the report contents
    function getReportingSession() {
    var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
    var retrieveEntityReq = new XMLHttpRequest();
    var Id = Xrm.Page.data.entity.getId();
    var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
    quotationGUID = quotationGUID.replace('}', "");
    var reportName = "Quotation"; //set this to the report you are trying to download
    var reportID = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
    var rptPathString = ""; //set this to the CRMF_Filtered parameter
    var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
    retrieveEntityReq.open("POST", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" +
    reportName + "&isScheduledReport=false&p:CRMAF_Filteredquote=" + strParameterXML;
    //remove the part starting from &p:salesorderid if your report has no parameters
    retrieveEntityReq.send(rptPathString);
    var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
    var ret = new Array();
    ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
    x = retrieveEntityReq.responseText.indexOf("ControlID=");
    ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
    return ret;
    var bdy = new Array();
    var bdyLen = 0;
    function concat2Bdy(x) {
    bdy[bdyLen] = x;
    bdyLen++;
    function encodePdf(params) {
    bdy = new Array();
    bdyLen = 0;
    var retrieveEntityReq = new XMLHttpRequest();
    var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
    "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
    "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
    retrieveEntityReq.open("GET", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.send();
    BinaryToArray(retrieveEntityReq.responseBody);
    return encode64(bdy);
    var StringMaker = function () {
    this.parts = [];
    this.length = 0;
    this.append = function (s) {
    this.parts.push(s);
    this.length += s.length;
    this.prepend = function (s) {
    this.parts.unshift(s);
    this.length += s.length;
    this.toString = function () {
    return this.parts.join('');
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    function encode64(input) {
    var output = new StringMaker();
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;
    while (i < input.length) {
    chr1 = input[i++];
    chr2 = input[i++];
    chr3 = input[i++];
    enc1 = chr1 >> 2;
    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    enc4 = chr3 & 63;
    if (isNaN(chr2)) {
    enc3 = enc4 = 64;
    } else if (isNaN(chr3)) {
    enc4 = 64;
    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
    return output.toString();
    </script>
    <script type="text/vbscript">
    Function BinaryToArray(Binary)
    Dim i
    ReDim byteArray(LenB(Binary))
    For i = 1 To LenB(Binary)
    byteArray(i-1) = AscB(MidB(Binary, i, 1))
    concat2Bdy(AscB(MidB(Binary, i, 1)))
    Next
    BinaryToArray = byteArray
    End Function
    </script>
    </head>
    <body>
    <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>
    Thank you,
    Mittal.

  • This might be a simple question.   On those sites that do not differentiate between models when on the internet I.e. Facebook when after your comment and you cannot hit "enter" on an iPad for examp. And speed is slow to connect.  What is = to post?

    This might be a simple question. On those sites that do not differentiate between CRT, laptop, tablet etc. such as an iPad Mini and using the Facebook site fir example when going to post a comment and you do not have a enter button on the IPad and the speed is slow how do you get your comments to post if we do not have a enter button? 
    <Email Edited By Host>

    I don't have facebook so I cannot answer but for your personal security, I have asked the hosts to remove your e-mail address.   It is very unwise to publish this.

  • Facebook notification and emails

    i just recieved the motorola droid 2 today. i previously had the motorola droid. since i have gotten the phone i have not recieved any email notifications for comments and or facebook notifications on the phone for any comments. anyone have any suggestions?

    Did you add your Facebook account to the Droid?
    I also might add that, if you add your Facebook account to your Droid, it will populate your phonebook with your Facebook friends... NOT COOL!  But maybe you will like that.
    The best way, IMO, is to NOT add your Facebook account, but instead, go to Market and do a search for a app called AndroidBook.  It's a great app for Facebook!

  • Feature request: better tools for commenting and editing text

    We currently use a comments-enabled Acrobat workflow with InDesign to track changes to our large catalog project. Was hoping to move our team over to CS Live, but currently the commenting tools are sub-par, and not accurate enough for extensive text editing. My request would be to imitate the text editing functionality of Acrobat:
    In CS Live online:
    - allow users to be able to copy selected text. (This is useful when a reviewer wants to be able to modify a sentence or paragraph. It's a headache now to have to retype the sentence prior to making modifications)
    - Ability to highlight text and hit "delete" to mark text as deleted, or highlight and type over to indicate replaced text
    - Ability to click to insert text, and have the comment appear with the inserted text designation (little blue carat like in Acrobat)
    - ability to highlight a section of text
    In InDesign:
    - ability to copy the text in a comment and NOT copy all the other extraneous meta data. (Currently, if you click "copy text", it will copy the comment along with all the details about the comment. For example, "- Amy Stewart [10.06.11 at 12:56 PM]"
    - ability to see in InDesign the EXACT part of the text that needs to be modified. Right now, the red box outlines the general area. The CS Review panel shows a tiny thumbnail with black highlight over the area of text that needs to be changed, but unfortunately, there's no way to zoom in on it, so you're stuck having to toggle between InDesign and the online review, where it's possible to zoom. (This diminishes the utility of the CS Review panel.)
    If you were able to incoroprate all the commenting functionality of Acrobat, I think you'll have a winner. But right now, we're going to have to stick with Acrobat as it's the only way to easily modify text.

    Sorry if I might be stating the obvious (but at least I was such a *dummy* once that I needed this explicitely):
    In order to move the sequence of images per drag&drop in grid view you need to
    Put the sort order in the bottom toolbar to "user order" (toggle visibility with letter T if not displayed)
    Grab an image from within its thumbnail, not from its border-cell.
    When you move around you see a vertical black thick line wandering in between images where you would be able to drop it
    Put the images first into a collection in case they should be spread across multiple folders.
    This is the reason why most often from a filter result you cannot re-arrange.
    Still sometimes it does not work as I want, but can *be persuaded*, i.e. I repeat the same trial after first moving to another collection, then return back. I can't nail it down sufficiently to file a bug.
    For an automated sorting according to filename (chosse that setting finally in toolbar) you could rename the photos in place, without exporting & re-importing. Just select them and hit <F2> to bring up the renaming dialog like possible during import.
    +1 vote from me, as I am neither satisfied with the responsiveness of moving folders within LR e.g. from laptop hard disk to NAS.
    Apart from that I try not to build much on my folder structure, just break them into manageable quantities and have a quick "diary-overview" by using naming convention "YYYY-MM-DD description of event" (pictures of up to 4 cameras go inside, unique filenames for Canons achieved by renaming during import). For all the rest I prefer to build (smart) collections.

  • How do I copy a very long iPhone text thread and email to myself?

    I would like to copy and email myself a long text thread on my iPhone to save as a permanent document in text format.  I only see now that I can do two possible things:
    #1)     Screen Shot page-by-page and then email to myself those photo images of the text conversation (but they will not be in text format)
    OR
    #2)     Select each reply, one by one, and then forward those to my email.  This could take an entire week to do.
    Does anyone know of a better option?

    Well, you didn't mention Mac, but to my knowledge, TouchCopy works on both platforms. And, my understanding of the OP was to send each one individually, whereas WiseJD was referring to selecting them all so you could copy them all and send, rather than emailing each individual piece.
    It wasn't that I thought it was rude, but that it was a complaint about something that someone said a year ago. You did not come here to ask a question, or indicate at all that you were looking for a solution to a similar question. It was just that you came on, slammed a response and left it at that. Those of us that take the time to answer people's questions as volunteers and users just like you. If you spend a great deal of time here, you will see a lot of different types of questions/comments that can get on your nerves. Here is a link for TouchCopy and it does work on both platforms. http://www.wideanglesoftware.com/touchcopy/

  • Sharepoint Designer Workflow - Send an Email that displays Item Changes

    Hi,
    I have set up a Sharepoint Designer Workflow that sends an email to the Owner of an item (designated by a column in my list) whenver that item is changed by another user. The workflow looks like this:
    If Current Item:Modified by not equals Current Item:Primary Owner
    Email Primary Owner
    This is set to occur whenever an item is modified.
    I would like the email to show what changes were made to the item, similar to how Sharepoint's notifications work. It should show what the field that was changed to trigger the notification contains currently and what it contained previous to the change. 
    Any help is much appreciated. 

    hi,
    out of box there is no option available. But you can implement a solution.
    Create a hidden field as multiple line of text. Make it a hidden field so that user cannot enter into this field.
    When ever a workflow start check if this field is empty that means item is create now using string manipulation in workflow concatenate the meta data in one workflow variable and save it in this hidden field.
    whenevre a workflow is start if hidden field is not empty it means this is an update item scenerio and than you 
    can have read old values from this field and you have new values in item metadat. format email to get diff.
    send email upadte the hidden field again with new meta data.
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • How to send notification and email to all approvers

    Hi
    I am customizing the requisition approval workflow in p2p cycle.
    We have to send out notifications and emails to all people in the approval heirarchy , who have already approved the req if some body higher up in the chain rejects it.
    right now oracle only send email and notification to the requester.
    ex -- If A requested it and next approver is B , who approves it , next is C, who approves it
    but next person D rejects it
    I want to send notification to C , B and A
    not just A
    please let me know how to do this.
    thanks

    Hi,
    I've provided advice on how to do it in response to your thread on the WorkflowFAQ forum at
    http://smforum.workflowfaq.com/index.php?topic=358.0
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • File Upload and Email

    Hi,
    I need to send an email to myself when a user uploads onto my
    site.
    But its not working:
    <form enctype="multipart/form-data" action="<?php echo
    $_SERVER["PHP_SELF"]; ?>" method="post">
    <p>
    <input type="hidden" name="MAX_FILE_SIZE"
    value="204800000">
    File:
    <input name="userfile" type="file" />
    </p>
    <table width="200" border="0" cellspacing="2"
    cellpadding="2">
    <tr>
    <td>Name:</td>
    <td><input type="text" name="name" id="name"
    /></td>
    </tr>
    <tr>
    <td>Email:</td>
    <td><input type="text" name="email" id="email"
    /></td>
    </tr>
    </table>
    <p><br />
    <input type="submit" value="Upload" />
    </p>
    </form>
    <p>
    <?php
    if (@is_uploaded_file($_FILES["userfile"]["tmp_name"])) {
    copy($_FILES["userfile"]["tmp_name"], "images/upload/" .
    $_FILES["userfile"]["name"]);
    mail("$adminaddress","Artwork Upload",
    "A visitor at $sitename has uploaded Artwork to print.\n
    Name: $_REQUEST[name]
    Email: $_REQUEST[email]
    Artwork Details: = \"$siteaddress/images/upload/$userfile\"
    echo "<p>File uploaded successfully.</p>";
    ?>
    <?php
    Enter your site details below!
    // Enter your contact email address here
    $adminaddress = "[email protected]";
    // Enter the address of your website here include
    http://www.
    $siteaddress ="
    http://www.site.com";
    // Enter your company name or site name here
    $sitename = "site.com";
    // Gets the date and time from your server
    $date = date("m/d/Y H:i:s");
    // Gets the IP Address
    if ($REMOTE_ADDR == "") $ip = "no ip";
    else $ip = getHostByAddr($REMOTE_ADDR);
    //Process the form data!
    // and send the information collected in the Flash form to
    Your nominated email address
    mail("$adminaddress","Artwork Upload",
    "A visitor at $sitename has uploaded Artwork to print.\n
    Name: $_REQUEST[name]
    Email: $_REQUEST[email]
    Artwork Details: = \"$siteaddress/images/upload/$userfile\"
    ?>
    <p class="style1">Please rename your file, to something
    more meaningful for faster access. E.g
    Yourname_businesscard_qty.jpg NOT Business_Card1.jpg. This will
    help us locate your file quickly and will decrease any
    delays.</p>
    <p>  </p>
    <!--<p>Upload Your File</p>
    <form action="uploader_process.php" method="POST"
    enctype="multipart/form-data" name="form1" id="form1">
    <table width="200" border="0" cellspacing="2"
    cellpadding="2">
    <tr>
    <td><label for="file">Select a
    file:</label></td>
    <td><input type="file" name="file" id="file">
    <br /></td>
    </tr>
    <tr>
    <td> </td>
    <td><label>
    <input type="submit" name="Submit" id="button"
    value="Submit" />
    </label></td>
    </tr>
    </table>
    </form>
    <p class="style1">Please rename your file, to something
    more meaningful for faster access. E.g
    Yourname_businesscard_qty.jpg NOT Business_Card1.jpg. This will
    help us locate your file quickly and will decrease any
    delays.</p>
    <p>  </p>-->
    </p>
    <A href="javascript: self.close ()">Close this
    Window</A>

    Thanks for the help. I had a look at the options at the bottom of the New Mail Message pane but the only options I have is "Show this action when the workflow runs" and "Show only the selected items." I've been searching for a way to tell Automator to "release" the file(s) but I'm not even sure of the terminology to use.
    I am using Automator in Snow Leopard, not sure if that makes a difference in the New Mail Message action. I couldn't find an Automator forum for SL.
    Thanks in advance for any additional ideas.
    jon

  • Form name and email being autofilled. cant delete

    I am using latest firefox 4 /vista ...see below
    when I go to certain sites, the logon name and email that i used previously a loooong time ago on another site appear automatically in the name and email field (of the comment section) .
    I have never visited these sites before let alone posted anything on them, or used the email/logon in any other way. There are no cookies associated with these sites in my cookies.
    I tried turnign off remember search and form history
    I tried delete and shift delete
    everytime I return to those site domains, same thing.
    I am not using any autoform plugin.

    I think some further detective work may be required. Here's one thought. Some sites share comments, reviews, and surveys. If you right-click near the form with the unwanted information in it, is there a "This Frame" on the context menu? If so, follow that to View Frame Information to see the true source domain. You may need to clear cookies for that domain.

Maybe you are looking for

  • Document is getting posted but unalble to clear the open items

    hi gurus, i m using the inbound idoc ACC_DOCUMENT03 to post the receipt against invoice. uptill now i can post the receipt but it shows the items are still in the open items. i need to clear the open items for the invoice. how to solve it .

  • Error in SUS with confirmation for service (MM-SRV)

    Hi everyone, We are trying to configure the MM-SRV sceanrio in SRM 7 and ECC 6 Ehp 4. We have a problem, when we send a Service PO from ECC to SUS, everything is fine. Then we make the Purchase Orde Responce (POR) and it is OK, but when we try to mak

  • IPoc Classic 160GB will no longer sync

    Hi Guys, Another one to add to the list of bugs, or a faulty iPod? Got my iPod on Weds and synced over 120GB of music and videos, all fine. Synced it a couple of times since then and new content made it onto the iPod. Yesterday, went to sync it and a

  • What is the problem with this event handler in LabView 8.0?

    Please find attached a copy of a simple Event Structure VI. Can anyone please tell me why the Pos 0, Pos 1, Pos 2 work fine, but Pos 3 does Not????? It works in Version 7.1 of Labview, but Not in version 8.0. Any help here would be appreciate Everyth

  • How to get rid of section headers?

    The "Mailboxes" "On my Mac" etc are taking up unnecessary space... anyone know a way to get rid of those headers and just have the folder icons? Think I can tell the difference between a smart mailbox and my inbox from the icons thank you