This is a topic in How are you using Basecamp?

Markup in Messages, To-Dos, etc. and why it’s important

 
Avatar Neil Caithness 65 posts

I know many people embed HTML markup in various places to customise the display of items in Basecamp (see this recent thread). I tend to use markup to embed metadata. For example, I have message templates with a lot of XML field names – here’s a fragment of a template:

h2. Codes

* Case reference *<proj_case_reference>----/----</proj_case_reference>*
* Award number *<proj_award_number>----</proj_award_number>*
* Project number *<proj_project_number>xx----</proj_project_number>*

h2. Offer Letter 

* Date <proj_offer_letter_date>----</proj_offer_letter_date>
* Received <proj_offer_letter_received_date>----</proj_offer_letter_received_date>
* Starts <proj_start_date>----</proj_start_date>
* Ends <proj_end_date>----</proj_end_date>
* Value *<proj_value>£----</proj_value>*
* Acceptance sent <proj_offer_letter_accepted_date accepted_by="--">----</proj_offer_letter_accepted_date>

I use a prefix like proj_ to avoid name clashes with other markup. When I fill in the blanks (either by hand or programatically) and post this as a message the markup is invisible and the content displays as well formatted text. When I pull the message with the API and process the message body as XML I get a dynamic data structure – something like this (data content obscured here):

proj = 

                       proj_details: [1x1 struct]
                         proj_title: [1x1 struct]
                          proj_lead: [1x1 struct]
                            proj_pi: [1x1 struct]
                           proj_coi: [1x3 struct]
                       proj_sponsor: 'xxxxx'
            proj_sponsors_reference: 'xx/xxxxxxx/x'
                proj_case_reference: 'xxxxx/xxxxxx'
                  proj_award_number: 'xxxxxx'
                proj_project_number: 'xxxxxx'
             proj_offer_letter_date: 'xxxx-xx-xx'
    proj_offer_letter_received_date: 'xxxx-xx-xx'
                    proj_start_date: 'xxxx-xx-xx'
                      proj_end_date: 'xxxx-xx-xx'
                         proj_value: '£xxx,xxx'
    proj_offer_letter_accepted_date: [1x1 struct]
                     proj_rpf1_date: 'xxxx-xx-xx'
                  proj_rpf1_partner: [1x4 struct]
            proj_rpf1_indexed_total: '£xxx,xxx'
               proj_rpf1_index_rate: 'x.xxx'
                     proj_rpf3_date: 'xxxx-xx-xx'
                   proj_da_internal: [1x2 struct]
                   proj_da_external: [1x1 struct]
                   proj_di_internal: [1x1 struct]
                   proj_di_external: [1x1 struct]
        proj_start_certificate_date: 'xxxx-xx-xx'
                     proj_rpf2_date: 'xxxx-xx-xx'

I now also sync the data on Amazon SDB for more complex queries and push summary reports back to Basecamp.

So, now that 37s have done a great job to give Basecamp a much more solid feel I really hope they will continue with a final cleanup to make sure that markup (including textile) is either acted on where the display is appropriate, or stripped out before display where it’s not (e.g. on the Dashboard, on the Files page, etc.)

I for one am really enjoying using Basecamp again and a lot of my users seem happier now with the email-reply too.

Signup or login to post a reply.