Trac is an integrated Wiki, Issue Tracker and SCM Code Browser web application implemented in Python. (free, Open Source) It has an outstanding extension/plugin architecture which allows adding additional, unanticipated capabilities to the base offering. The core product has it’s own Plugins list, but additionally, there is another site, Trac Hacks which serves as a repository for all manner of third party extensions and plugins for Trac. Out-of-the box, Trac has built-in support for Subversion, but other SCMs may be accommodated via plugins.
Over the weekend, I wrote a plugin which synchronously replicates Trac tickets to Salesforce in the form of two custom objects,
Tickets and Comments.
Continue Reading…
Posted by Admin on Feb 08, 2011
When engineering a data-driven application, it always helps to be able to conceptualize the data model using some type tool that can create a visual representation of the data model. One of the main values of such a visualization tool is to be able to see the how objects might be related by primary/foreign keys. Since Salesforce is a data-driven platform, it would be helpful to be able to obtain so-called “Entity-Relationship Diagrams”, or ERDs, for Salesforce. They actually provide ERDs for their standard objects on their on-line documentation:
Sample ERDs for Salesforce.
Account, Contact, etc
These diagrams are fine for the standard objects, but once you start adding custom objects to the data model, you need to find a way to generate ERDs from the data model of your specific org (Salesforce instance).
Continue Reading…
Posted by Admin on Jan 30, 2011
After reading some traffic on the sqlite-users list, where some people were inquiring about stored procedures for SQLite, I decided I would try to implement stored procedures on SQLite. The primary motivation for me was just to see how far I could get – I am not convinced that it’s necessarily a good idea.
The first step was to examine the existing SQLite grammar in src/parse.y and add the additional grammar required for stored procedures, then build out the code from there.
Continue Reading…
Posted by Admin on Jan 26, 2011
Normally you should try to use an Import Wizard or Data Loader to import your data into Salesforce. However, there are cases where you may need a more flexible solution – for example, to implement conditional logic triggered by incoming data values. You could write an application in a compiled language such as Java or C# to implement your custom import use-cases, but since importing data is a one-off scenario, run in batch mode, rather then an interactive app – it might be better to leverage the flexibility and rapid development that can be achieved with an interpreted, dynamically typed language, such as Python, et al. Here’s an example of implementing a custom import script using Python.
Continue Reading…
Posted by Admin on Jan 14, 2011
After hearing about Heroku on a Salesforce webinar, I thought I’d try the service by creating a blog (this site), “hosted in the cloud” – i.e. Instead of using a dedicated web hosting account, I’ll try using this service by a company called Heroku which provides hosting for “RoR” (Ruby-on-Rails) apps.
The Heroku provisioning model appears to be a fine-grained cost-per-resource unit, plus – and more importantly, there is no concept of an assigned server – this is a virtually assigned resource. The physical server (IP) and cluster count, i.e., the instantaneous number of clustered servers are transient also.
Continue Reading…
Posted by Admin on Jan 01, 2011