Elements of a web site
Beetlebrow client feedback
Testimonial

"When I set up my business I decided to use Beetlebrow as I liked what they did and the way they did it.

"I didn't want an off-the-shelf product – I needed a custom built site that functioned in a user friendly way and created the right impression. To achieve this, more than technical expertise is required – the designers have to interpret what a "non-techie" wants and create something from scratch.

"The service I get from Beetlebrow is excellent. They are also jolly nice chaps."

Richard Max
Partner
Richard Max & Co

More from this site »
Testimonial

"We've found Beetlebrow professional, responsive, and incredibly creative."

"When we asked them for a design, they immediately understood our brief and came back with an idea which reflected our business perfectly."

"Sales inquiries have quadrupled since the new site went up, with many new clients commenting specifically that they came to us because they were so impressed by it."

Stephen Arkell
Managing Director
Retina Productions Ltd.

 

More from this site »
Testimonial

"Beetlebrow are a huge asset to LessBounce.

Their response time is impressive - amends are made almost instantaneously.

I don't know where we would be without them!"

Selaine Saxby
Proprietor
LessBounce.com

Testimonial

"Beetlebrow provided us with a responsive service and a first class web site. They took care of all our requests and were helpful and knowledgeable to talk to. I'd recommend them to anyone."

Jeremy Balcombe
Managing Director
Ozone Clean Ltd

More from this site »
Testimonial

I am pleased to confirm how delighted I have been with beetlebrow services.

Their design, set up and continued maintenance has been excellent and continues to bring in a good and regular response.

Nigel Graves
Owner
Chelsea Harbour Dental Practice

More from this site »
Testimonial

I selected Beetlebrow to create our website from a shortlist of 10 possible providers. I was greatly impressed with the time and attention they gave to the school pre-contract, with their most senior staff attending a meeting with the school to gain a sense of its ethos and expectations for its website.

Our demands were fairly exacting and at no point did they attempt to steer us in a direct that ultimately would have made their lives simpler.

They produced a website which has received praise from the school community and many others. It has also attracted the kind of teachers we are looking for; in that respect it hit the nail on the head.

Post publication the service provided by Beetlebrow and its individual team members, with no exceptions, has been outstanding; I use that word as an educator and in its truest and most literal sense.

We continue to enjoy a client sensitive, truly professional service. I look forward to the planned refresh of our site shortly.

David Chappell
Associate Head
Holland Park School

More from this site »
Testimonial

"The best and most original web design company I've come across. They understood my requirements and fulfilled them in every department."

John Davies
Managing Director
Charity Supply Company

 

More from this site »
Testimonial

"Well done! I would like to thank you all for making this happen. You have been a pleasure to work with and I am delighted with the end result and I am really happy that we have made the 1 September date.

Jeremy Carr-Smith
Director
Moving Office

More from this site »
Testimonial

Beetlebrow understood the brief perfectly and produced exactly the web site we wanted.

Since launch, they have provided great support and make changes promptly and efficiently. I'm very pleased to be working with them.

Jeremy Balcombe
Managing Director
Springdene Care Homes Group

More from this site »
 

How to add a ZCTextIndex to the catalog

You ought to be able to this via UML/AGX, but the method doesn't seem to work. Here's how it actually works, and what ought to happen with AGX

You need to add another couple of fields to the XML to define a lexicon and a sorting algorythmn as well as making the index:type = ZCTextIndex. The way that works is to remove the catalog tagged properties and then in the protected footer code area of catalog.xml, manually add the following:

  <index name="getPostcode"
         meta_type="ZCTextIndex">
    <indexed_attr value="getPostcode"/>
    <extra name="index_type" value="Okapi BM25 Rank"/>
    <extra name="lexicon_id" value="plone_lexicon"/>
  </index>
  <column value="getPostcode"/>

 The way that doesn't work, possibly because we don't have the fixed version of AGX, is to add 2x index:extras tagged values of index_type=Okapi BM25 Rank and lexicon_id=plone_lexicon

See:

http://plone.293351.n2.nabble.com/ZCTextIndex-extra-tagged-values-td2429290.html

and

http://plone.293351.n2.nabble.com/ArchGenXml-ZCTextIndex-info-missing-from-catalog-xml-td1302953.html

This could be because I was/am using archgenxml 2.2 instead of the latest version (2.6 as of writing), because my Mac can't compile to 2.6 version.

Adding the new index via python

The problem with adding a new index via catalog.xml is that all the indexes are cleared when you reinstall the product, so you then have to reindex the site manually via the ZMI, or reindex the site post-install via python.

The alternative is to add the indexes via setuphandlers.py as explained here:

http://maurits.vanrees.org/weblog/archive/2009/12/catalog

This explains exactly what to do, apart from in the case of ZCTextIndex, which is required to add a custom field to searchableText. This is just a little more complex, but can be made to work as outlined here:

http://old.zope.org/Members/dedalu/ZCTextIndex_python

To adapt it for our case, to setuphandlers.py add the following class.

class Empty:
    pass

Then changed the "wanted" tuple to reflect the fact that you require ZCTextIndexes.

    wanted = (('getThing1', 'ZCTextIndex'),
              ('getThing2', 'ZCTextIndex'),
              ('getThing3', 'FieldIndex'),
              )

Then change the catalog.addIndex call to the following.

        if name not in indexes:
            if meta_type == 'ZCTextIndex':
                item_extras = Empty()
                item_extras.doc_attr = name
                item_extras.index_type = 'Okapi BM25 Rank'
                item_extras.lexicon_id = 'plone_lexicon'
                catalog.addIndex(name, meta_type, item_extras)
            else:
                catalog.addIndex(name, meta_type)

Now when you reinstall, your indexes should be ZCTextIndexes. Don't forget to delete the FieldIndexes if you added your fields to the catalog as this type.

Add an index to SearchableText

Plone has a special index called SearchableText, which is what it uses for its main search mechanism. If you want your newly indexed field to be searchable via the standard search, or even via a customised search, you have to add

            searchable=True,

 to the field definition. This is true both of normal field and of an _ExtensionXXXField from Schema Extender. Make sure you add it to the field and not to the widget definition within the field.

Document Actions

Branding and printing for Stratford School Academy Branding and printing for Stratford School Academy

Stratford School are to become an academy, and as part of the...

Funky site for Global Art Supplies Funky site for Global Art Supplies

Global Art Supplies needed a revamped web site in keeping with their...

Chancery Bar Association chooses Beetlebrow Chancery Bar Association chooses Beetlebrow

The Chancery Bar Association needed a new web site with improved content...
Beetlebrow web design news