Greetings Post Readers,
I told you I would be back to let you know about Org Documentation and Help Sites so here I am.
When it comes to org documentation I have to tell you, mine is either SO BEYOND THROUGH that it would kill many trees to print, OR it is non existent/a line or 2 in a notebook that I may or may not have left at home or on the bus. Because I know this I have really been working hard to make sure that I am doing a better job. The way I am doing this is by not taking on the project all at once or with a deadline.
I started with a mature org earlier this year, years of customization and admins. I don’t know everything yet, and with the cool stuff I am working on, I can’t sit down and learn each object as a prereq for the next project, it is more of a learn as you go experience. This has it’s benefits and downsides, but it is what it is. Here is how I am taking on the world as a #adminhero, one field at a time.
- Each time I learn about a field, I add/update the Description and/or Help text.
- My Description does not match my Help, it also includes what it is supposed to do, who is using the field, the purpose of the field is (xyz project, used with territory formula routing). This gives us the what, who, and why. If it is broke in the future of if we are looking to make a change, I want to make sure that people know the REAL purpose rather than what it became, or how their team uses it. When looking to make changes to page layouts and field security, it can easily seen what can’t be taken away.
- if a field is to be removed, I start the description with saying so, REMOVE. However if we are working on the field or still need it but it is no longer on a page, add INACTIVE.
- For new fields added, either on a new object or to a page all of this is noted.
- These values, they are exported when changed and shared with the people that need access (more to come on this later). Which insures that everyone is in the loop and that we don’t break integrations or triggers.
- New Objects/Apps have the description added, they have purposed documents, an End User training ppt, and my favorite a WIFFM (What’s in it for Me?) ppt.
- These ppt’s are not HUGE, they can be 3-4 slides, users just need to know what they are doing, and for adoption, they need to know what they are getting out of it.
- Purpose doc’s, these are usually cleaned up project doc’s, since I export my fields with help text and description, not that much detailed info is needed.
- New Objects have proper security settings, and these are noted with an excel matrix that is available to the Governance Committee and Security Leadership.
- New Validation Rules, Workflow Rules, they follow the same as Fields, as I modify them, what they do, who they are for, and why we use them is noted.
- If they are deactivated, we follow a couple rules
- Is the Field/Object totally gone? If so, export a copy, then add REMOVE to delete
- Is it custom for a user? and are there are multiple for a team? If so, can we replace with Process Builder? If so Build a Process (one description to write vs. many), export the WFR’s and then add REMOVE to delete them.
- If it is a maybe situation for the change, a temporary change, or something new is being used instead, I export it, deactivate, add REMOVE or PENDING REMOVAL, that way if we have a delete cycle, we don’t delete it before we are ready.
- If they are deactivated, we follow a couple rules
- Permission Sets, Profiles, and Sharing Rules oh my! When it comes to changes here, this stuff is CRUCIAL to document with what, why, and why. Perm Sets get details in the description as to what the problem is we are solving, what this set includes and then who would get access (if not mentioned in the problem) how i set it up is: PROBLEM, USE CASE with WHO, then I add a date if modify. Since updates can change the mod date, I just don’t want my need to have a typo fixed mistaken for a change. Sharing Rules/Groups have notes about who should be included and who approved this group, which is used by our security council.
Unless I am working on multiple changes and I know this in advance, I export this data and update my documentation IMMEDIATELY. It isn’t a hard fast rule, but honestly I will forget to do if I don’t, or I might miss an object.
I have a Case setup, it is created weekly to be done on Fridays, for the Org Export of Project Objects in Production, if there were multiple cooks in the kitchen I would make this for the org.
I also export our Setup Audit changes Firday weekly, again a Case in Salesforce assigned to me.
Then on Monday there is a Case for me to do our Weekly Export.
One thing you might be wondering is, How do I get these export documents I speak of and where am I going to put them?
Well I use a really easy little app called: Ethos Easy Describe AND Octopus AND Excel Enabler to export Here is a little bit about each one, as well as the app that started it all…
This Force.com Labs app is on the AppExchange and free of charge.
What it does: At the click a button you create a says “snapshot” of your org. Which in and of it self seems pretty freaking cool, and this was the first app I used to start documenting. The big deal they stress here is that you can store your data in a custom object, so your org will show the metadata changes over time.
Why I like it: Well it works at the click of a button, that is freaking awesome, then I just export the data and
Why I dislike it: You need to create an Analytic SnapShot, now “Reporting Snapshot” to have the org Document itself. The snapshot process writes over itself each time. This is a bit more of a Salesforce limitation that you can only have a snapshot of 100 fields, there are only so many per day, how tables can’t hide details, but that is a limit. Plus I don’t want to run a report in SF for every object with adding fields and such.
Metadata Snapshot on the AppExchange (new window)
I love this guy, I really do. I have been using the app for awhile, so I am used to it, and I just like all of our End Users, might like cool new things, but I’m scared of change and if it’s not broke why fix it?
What does it does: Lets you view & extract object metadata details with recordtypes, field types, picklists, and other metadata all on one screen. Easy export to excel.
Why I like it: You can see your help text, the formula text, all child objects. You can see vital information for each field such as name, API name, if you can edit it, if it is custom, number of characters, if it is dependent, if it is a lookup and if so to what, and picklist values. Plus you get your little shortcut code, 001 & Record types are available. Another benefit is the fact that you can use one object at a time, so if you are working with a sepcific set of objects, you don’t need to export the Org design to find out how to design your project object structure. Export to Excel, this is so vital for storing each month the development of our org.
Why I don’t like it: It is on a Visualforce page, without the ability to store the data automagically. Yes, it gives you your “Picklist” values, but you have to click an Extract link… on EVERY PICKLIST to get them. Plus, it does each object individually. Yes, I have this as why I like it but why can’t I flag the objects I like and do them at once.
Etherios EasyDescribe: https://appexchange.salesforce.com/listingDetail?listingId=a0N300000018leZEAQ
This is another lovely freebie. All you do is add the App, go to the Octopus tab, then select the check box for the items you want the extract.
What it does: Exports your metadata fast and easy from Salesforce from, one selection page. Includes items like, Apex Classes, Components to Jobs to fields to Dashboards, mail merge, profiles, queues, user, roles, VF workflow, etc
What I like: This not only gives me fields, but it LISTS THE VALUES IN THE PICKLIST! For real, it does that, right there in a square on the table. This can be pulled up right away with a HTML page you can save later, which is great when you need an answer on the fly. Your apex is right there, and you can get all your custom object fields and standard objects with custom fields all at once. I also use it for my Workflow Rules, pretty decent setup.
What I don’t like: It is in Word, HTML, or a PDF, which all format funky in Excel. even if you just import text, something somehow goes wrong if I don’t make a table in Word with the data first (Using Excel 13). In addition, you don’t get as much information as you would like. It is slightly frustrating when using it for more than a quick lookup.
Octopus on the AppExchange (opens new window)
Enabler for Excel
I use this app DAILY. It is not only used for my metadata needs, :-) It is an Excel add-on, that lets you export to Excel with the click of a button. I use this with TM 2.0 (territory management 2.0) to review Users by Territory, Accounts by Territory, Territory Hierarchies, Email Templates (great for HTML templates as I recently learned). I like that it is a Heroku app, as I work on my Journey to become a Force.com Master, seeing that apps others made using the same tools I am using, makes me feel like I will be able to help someone in the future, but that’s a personal pro.
What does it does: Enables easy mass updates, inserts, and deletes. PLUS, it has extra functionality showing which fields are in and out of layouts, PLUS field(s) utilization calculation (like field trip), and it does VisualForce from layout page generation.
Cost: Paid, $10 per month OR $100/year per computer
Why I like it: It is an Excel add-on so you can click a button in Excel then work right there with your data. You have Dataloader opertions such as get, insert, update, delete, upsert, but without .csv files. Use do a SOQL query, change a couple of fields, and push them back into the database in a couple of minutes without leaving Excel. If you “Save As” you have a backup right then and there. Then, 30 day trial with no limit on the amount of data that you manipulate. You can hit the little extras button on Login to use the Web login and bypass using your token.
Extra Bonus: It works with Group and Professional
The downside: Well, being paid is an immediate downer. Other than that, it isn’t in Salesforce, so you do need to export. If you import, you are directly importing what you have, there is no “are you sure”. Personally, I get frustrated with the fact that when you do an import or upsert. you need to UN-map the system fields or it will fail (E.g. Created By, Last Modified Date…) The page layout stuff needs to be done one at a time. This is petty I know, but there it a popup that you need to click every single time you open Excel, and you can’t just get your question answered on their Wiki, they make you walk through EVERYTHING.
Overall, I like it, I use it, I will keep using it. It isn’t a replacement for the Dataloader, don’t think that because you can avoid .csv files it is. First off, you don’t get a backup, there aren’t self generated success and error files, and no batch. Really hand for minor fixes, to manipulate data (E.g. Wrong Lead Source, incorrect campaign, bobby left the company)
Excel Enabler on the AppExchange (Opens New Window)
Now you have some cool new tools, and a heck of a lot of documents that you will not use on a regular basis…
What ever shall you do with these documents? Well you could store them on your hard drive, email copies as people need them, that they might not remember or might not save so they use one from 3 years ago and erase all your Revenue. You could just put them in a file and never think of them again, but go hey at least I did it. Then when you move on your successor will have no idea how to use Salesforce. OR…
You can share them on the cloud, one folder for ADMIN stuff one for END USER training. Use security to say who gets what, then grant access as needed to others. Starting to get there…. Content works great for this, unless half your company doesn’t use Salesforce, and lets admit it, we aren’t all Wall to Wall SF.
You feeling like you want to go above and beyond? Make a SharePoint site. This is what I think is the best idea IF you have enough people and enough reasons to do it, otherwise it is over kill. You can make a folder structure with a Wikis, Documents, Lists, Project Calendars, Announcements. Main site is your ADMIN stuff, metadata, integrations down to the detail, then share what users need, Marketing gets your marketing automation stuff, so does sales, but not the integration part, just the easy reading docs.
Use the Wiki to have Validation Rules there to find out WHY the data import didn’t work, WHY they can’t close a deal. Put a custom link in Salesforce, show that sidebar, and let then gain access. Have an Account List? RoE? put that in the links too, help your users help themselves. If they can solve the problem without calling you, they will be less scared of Salesforce.
Other advantages? Well they can have Sales Managers storing docs here too, and Marketing can tell them about the campaign import, and you can see the csv file marketing uploaded in case we need to “un-do”. Make a community page, users can then give each other advice, and know what document they are using? That one you just put up, because it is ONE link, to ONE place, with UP-TO-DATE information with versioning so you don’t lose the old one, just in case. Don’t forget a web-to-Case form on the site so they can reach out if they need to. What are you going to do? You can sit back, and create a subsite with your project folders, shared with the Executive Sponsors & other team members, and focus on making thing better, rather than fighting fires.
Thank you everyone, that is it for the first post. Please let me know any thoughts or questions, I can’t improve without your help.
Hey all, finally took the step to create a blog. I haven’t had the chance to type up my first article, but I have carved out time to do so tomorrow. I am adding the link to this site on my social networks through and can’t go posting an empty blog. Of you are reading this then please come back Sunday night for the actual post on Salesforce Documentation: Org, Admin, and End User Help Docs.