2011-06-01

Salesforce Blog

Came across this blog while I was searching for SFDC Workflow Rules Email Action which would allow me to keep a record under a Case's Activity/Email History. Hope the guides in it would be able to help me out.

Shivasoft

2011-05-28

Auto Response Email, A Lotus Notes Agent

The company's Lotus Notes' auto-reply was not up to par from what I wanted. Unlike GMail's auto-reply settings, which only displays the Subject and message Body that I specified, Lotus Notes went a step ahead. It appends the received email's Subject on my replying email and added an out-of-office status as well as returning date, which I would want it to be indefinite. Conclusion, crap.

Contacted the Domino support team and the Domino head suggested to use Lotus Notes Agent instead. She managed to do a test and demonstrated it. It seems to worked as per what I wanted. Unfortunately, the teaching-one-to-fish-instead-of-feeding-one-with-fish philosophy was used on myself this time. Hence I had to spend extra miles to do research on this to perfecting this auto-reply to make it seems legit.

What I would want to achieve is something like this.

fromMail Delivery Subsystem mailer-daemon@googlemail.com
tomyemail@gmail.com
date28 May 2011 11:18
subjectDelivery Status Notification (Failure)


Delivery to the following recipient failed permanently:

    fake_email@abc.com

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550 5.1.1 <fake_email@abc.com>... User unknown (state 14).

----- Original message -----

MIME-Version: 1.0
Received: by 10.216.91.17 with SMTP id g17mr1347436wef.1.1306552727107; Fri,
 27 May 2011 20:18:47 -0700 (PDT)
Received: by 10.216.55.145 with HTTP; Fri, 27 May 2011 20:18:47 -0700 (PDT)
Date: Sat, 28 May 2011 11:18:47 +0800
Message-ID: <BANLkTimrR3ZgANSc76ZFEL1z8x4-OpnDwA@mail.gmail.com>
Subject: Test email bounce
From: =?UTF-8?B?Q8+JIFRoYW0=?= <myemail@gmail.com>
To: fake_email@abc.com
Content-Type: multipart/alternative; boundary=0016e6d7df742df8bd04a44d83f1

This is a test for email rebounce.


And this was what I have achieved

fromdaemon@testemail.com
tomyemail@gmail.com>
date27 May 2011 16:38
subjectDelivery Status Notification (Failure)
mailed-bytestemail.com


Delivery to the following recipient failed permanently:

    valid_email@testemail.com

Technical details of permanent failure:
We tried to deliver your message, but it was rejected by the recipient
domain. We recommend contacting the other email provider for further
information about the cause of this error. The error that the other
server returned was: 550 550 5.1.1 <valid_email@testemail.com>...
User unknown (state 14).

I think this is quite acceptable, although it wasn't exactly as per a legit bounced email like. As long as the recipient could understood that their email went into an invalid mailbox.

The working code for this in Lotus Script
Sub Initialize
 Dim session As New NotesSession
 Dim db As NotesDatabase
 Set session = New NotesSession
 Set db = session.CurrentDatabase
 Set docs = db.UnprocessedDocuments
 Count = docs.Count
REM if we have new mail start processing
 If docs.Count > 0 Then
  For n = 1 To docs.Count
   Set memo = docs.GetNthDocument(n)
   If Not( memo.SentByAgent ) Then
REM if attachemetns were stripped, send a reply
    Set reply = memo.CreateReplyMessage( False )
    reply.From = "Mail Delivery Subsystem"
    reply.Principal = "daemon@testemail.com"
    reply.Subject = "Delivery Status Notification (Failure)"
    reply.Body = "Delivery to the following recipient failed permanently:" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "     valid_email@testemail.com" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "Technical details of permanent failure:" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "We tried to deliver your message, but it was rejected by the recipient" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "domain. We recommend contacting the other email provider for further" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "information about the cause of this error. The error that the other" & Chr(13) & Chr(10)
    reply.Body = reply.Body & "server returned was: 550 550 5.1.1 <valid_email@testemail.com>..." & Chr(13) & Chr(10)
    reply.Body = reply.Body & "User unknown (state 14)."
    Call reply.Send( False )
   End If
   Call session.UpdateProcessedDoc(memo) 
  Next
 End If
End Sub

2011-05-23

Simple (Sweet) Honey v3.5 Revolution - Part 2

Finally, got my hacked Maps 5.4 updated into my phone. Unfortunately, I'm still not able to get Swype working. I wonder which version works for Simply Honey's ROM.

I have tested the GPS earlier. It seems to locked within seconds as well, outdoor. I guess that's the miracle of Gingerbread kernel on SGS phones. It was a good thing to know that it locks quick and well, but accuracy remained much to be desired. Luckily my Holux external GPS mouse still kicking.

During the testing period, around 1 hour, my phone was connected to HSDPA with GPS on all the time. The power drain was around 10% - 15%, which I was glad to see. As with CM7 Nightly, it would have at least dropped 20% or more, even the connection was sustained at 3G only.

Will keep this ROM for a week and decide later this weekend whether I will be switching ROMs again. This ROM wasn't exactly fast/smooth/quick in response. It was very much like the original Gingerbread ROM for SGS. Nothing to shout about, other than the pretty eye candy. Perhaps I should throw in the animated wallpaper as well to fully compare them both, in term of power drain.

Some forummers claimed that the power drain was an issue of JVK ROM. But I doubt so, cause I have used the leaked ROM based on XXJVK, which doesn't seem to drain as quickly as CM7 Nightly's. I guess it's just the Android OS bug, which claimed by another group of people. It's just ironic as that Android mascot was called the Android bug.


Shoot me if you will, I really like some of the bundled apps made by Samsung. Such as the built-in ScreenCapture (back+home button) service. The integrated contact list. The search-on-the-fly dialer, which is very easy to find out who's the person of a phone number from your contact list. Lastly, it would be the camera software, which I have get used to, with all the camera tweak settings and all.

Finally, my verdict on this ROM is, it doesn't deserve the title ROM at all. It felt like a Theme instead. Just imagine you have the official ROM installed, then you apply a theme. This is what you get, basically. No performance improvement, or not much on those low level coding (kernel level) to tweak the ROM. It just performed like official ROM, with steroid on its UI. That's it.

Part 1: Simple (Sweet) Honey v3.5 Revolution

2011-05-22

Simple (Sweet) Honey v3.5 Revolution

This.Is.Sweeeeeet!



Though there are some minor stuff missing from this ROM. I can't seem to choose XME code, though the individual ISP codes are available, such as CCM, DGI and MIS. I wanted XME so that if I changed sim card, I'm automatically configured to use data network. Hmm...

2011-05-21

New Rom: Insanity v8.5

Going to try a new ROM for my phone, seeing that the previous ROM, CM7 Nightly was very hungry on sucking battery juice. Hopefully this lightweight Insanity ROM is as smooth, if not smoother than CM7 Nightly. It claims that the ROM size is only 70MB in size.

Unfortunately, I have yet to find the download link of the ROM.

2011-05-22:
Insanity v8.5 was a failure. It can't be flashed directly over my existing CM7 Nightly. So I tried reverting back to EZbase 2.0 (FroYo 2.2.1). After updating Insanity via CWM, my phone stuck at Galaxy S boot screen (before animation). Checked the forum for some advice, it needed to be flashed from Gingerbread JVH kernel.

Blew me. Flashed Samsung's leaked ROM XXJVK over my phone again, then hunt for JVH kernel. The best bet was Supercurio's Voodoo kernel, which uses JVH kernel. Unfortunately, I can't use Hardcore's Speedmod kernel, as it requires JVH kernel, instead of providing JVH kernel. Voodoo kernel did an automatic conversion for me from RFS to EXT4, which I was shocked cause the booting the phone takes very long. Thanks to the audible EXT4 conversion, so I know what I'm waiting for.

Finally booted into Insanity, but the DPI was shit. There were some FC with existing apps, especially Nitrality. It was really a stupid ROM. Even I can't connects to my own Wifi AP. Urgh!

Downloading Sweet Honey v3.5 Evolution now. Hope this is a good ROM with good battery life.

2011-05-20

Battery Status on CM7

I found another supporting reason why the battery would drain so fast like a plunge in bungee jumping.


Look at the hilly-hills, despite I was charging the phone using its power adapter and left the phone idling at 1 side.

2011-05-18

MaxLength on TextArea Input

Apparently, all these years I was wrong. I always thought that we could just put:
<TextArea MaxLength="30" /></TextArea>
to limit the size of a text input area.

When I tried it just now, then only I realised, in a pain way, that MaxLength wouldn't work for TextArea input! Oh my god! Now I have to resort to JavaScripts, which is very client dependent. Found a quick fix which raises event on keypress. Unfortunately, as I expected, you could still paste your long text into it. OnChange event just won't work.

What can I do now? :(

The code I have so far:
<script type="text/javascript">
function imposeMaxLength(Object,MaxLen) {
    return (Object.value.length <= MaxLen);
}  
</script>
and on TextArea input: