This is a reoccuring requirement: you need a profile for some object in your project.
FE you have a company, a member or a location that should get an address, a marker on the map, an icon, homepage etc.
So I created a small silverstripe module that adds a profile tab to any object you choose in your Silverstripe CMS backend.
It basically extends the very handy addressable module and inherits all functionality from it like automatic geocoding, regex field to validate postcodes, set allowed countries and rendering of a static google map.
If you just need an Address I recommend to use the addressable module.
Install it easy by:
Simply extend your Object in your _config.php:
Object::add_extension('myObject', 'Profileable');
To add the automatic geocoding add:
Object::add_extension('myObject', 'Geocodable');
and of course run: dev/build?flush=all
It also renders the profile in semantic hContact mircroformat markup, just place $getFullProfileHTML in your template and style it.
If you want to render the Profile different just copy the Profile.ss over to your theme and start editing.
Read more in the readme’s :)