Input Desired: Your thoughts on my "Top 10" ideas...
Category Technical What do you think?
Bookmark :
I have an idea mulling around in my head. I am thinking about putting together either a couple of presentations, or articles, or.... well, something publicly consumable, based on the two ideas I have and are about to presesnt to you; and then fulfilled by your input. So, what are these ideas? Let me explain...
I have been a developer forever - over 16 years now. And let me stress - developer. At first (think early R3.0 days) I actually could manage a "Notes server" (Domino didn't exist yet) - mainly because there wasn't that much to worry about. And then when Domino came along and things got more complicated, I went through an early phase of actually not knowing much about the admin side of the house at all - and I think this is where most Notes/Domino developers are today. Likewise I am almost confident that all but a few administrators really know nothing at all about development, other than it exists and causes his elegantly-configured and normally-sold Domino server to crash before you can say "LotusScript".
And that brings me to my idea/concept.
I want to put together two "top 10" type of lists based upon the two following topics:
- Top 10 Things Every Domino Developer Should Know About Admin
- Top 10 Things Every Domino Administrator Should Know About Dev
Think of it this way: If you as the experienced/top Developer or Admin in your organization, could sit down a young, new, associate that is of your counterpart (Admin or Developer, respectively), what are the top 10 "pearls of wisdom" you would impart on them so that they may be better at what they do with a more "worldly" view, and may just understand and interact with your world a little bit more effectively (and understandingly).
Given this concept, I'd like my "brilliant" readers to think about this and respond - and discuss. Give me your bullet-proof top 10 from your respective areas of expertise, and let's see if we can put together an insightful list to help the greater community, and greater good. Don't think of interesting or archane bits of lore - that's another list. This is more informing and enlightening - something that will make the reader a better, more informed and understanding professional about what they (and their counterpart) do for their profession.
So, folks, give this some thought. I know I haven't been around for a bit (things got a bit insane - I'll explain later), but my world is settling down now and I'm ready to get the LotusGeek discussions going again - and this is a great topic with which to start.
Oh, and as a teaser for you leading into the weekend, I want you to know that next week won't be all nice funny posts and announcements. Next week I really want to vent about some things going on in the US lately - think President Bush, the oil crisis, the child molester/no execution court decision, and so on. It is yet another way I'm getting back to the "old" LotusGeek.
Let's start the discussion, and we'll have some "interesting discussion" fun next week.
Have a fantastic weekend!
Rock









Blog Roll










Comments
Posted by Jennifer At 04:36:46 PM On 06/27/2008 | - Website - |
Posted by mdm-adph At 05:20:03 PM On 06/27/2008 | - Website - |
Top ten things managers should know about Lotus Notes administrators and developers.
1. The development department must have a separate server.
2. The development server needs its own administrator with skills to help developers.
3. The development administrator must be part of the design team to shape the administrative side of the final product.
4. The development manager must bend over backwards to encourage the developers to tell the truth about development progress.
5. The development manager must make sure the project budget is sufficient to provide the tools need to make the developers and administrators productive.
6. That's all I've got on this list right now.
Peace,
Rob:-]
Posted by Rob At 05:43:35 PM On 06/27/2008 | - Website - |
Here is an item which should be on both lists - how to create and manage groups so that application security is rock solid AND maintainable. I have always found this to be a real burden. The HR Department has a set of groups that maps to the org chart of the company, which is great, but application security often does NOT match to the org chart. So you make a group for your first new app, which now has to be maintained. Example, a subset of people in Accounting need accesss to your new app and that subset does not match any group in the org chart, so you create a new group. But when employees change (e.g. one person leaves that was in the group you created, and another one is hired that backfills that position), there is no straightforward way to ensure that the new person gets added to the group - Admin P should get rid of the deletion. Or at least I haven't found a way. Seems like this should be a "solved" problem which I am simply ignorant of. If so, can anyone enlighten me?
Posted by Bryan Schmiedele At 04:39:56 PM On 06/28/2008 | - Website - |
I was discussing the difference between Administrators and Developers and stated, in my opinion, that good Developers understand enough about Administration (groups, NABs, security, etc.) to know what they need to do to code applications. On the other hand, Administrators have no clue about Development and are happy that way.
In the six months I was working there, the Administrator would not talk to me and went out of her way to make my life miserable. She took it personally when I stated that she did not understand what a Developer does even though she told me she had never coded a single line in her career nor had she ever even opened a Template.
My statement came from my experience in that I started in working Notes back in the version 3 days. I was supporting an OS/2 Notes server at the same time I was developing applications. I eventually decided that Administration was definitely not for me and concentrated on applications. I did however keep up my knowledge of Administration so that I could step in and help out if necessary. I figured that would give me a solid position but this Administrator simply wouldn't listen to me.
Posted by Roy Rumaner At 01:10:20 PM On 06/29/2008 | - Website - |
No, there is no way you can have the password to the id used for template signing.
Your new agent needs to send mail? Ok, what server are you sending it to? No, you can't use "made up" hotmail addresses. No, you can't even send them out to the public internet. Why? because you don't *know* they're not live addresses, or won't be tomorrow or whenever your testing finishes. We don't want to end up in spamhaus' list of naughty people, so I'm not going to allow you to relay through my live mail server. Set up your own mail server, on your isolated network, and get to know your dev server's hosts file.
You can enable that large agent when you tell me how many documents it's going to process in a live database, and how often. No, the word "probably" doesn't cut it here. Show me your fullscale test results.
No, you can't schedule that agent when I'm running the overnight compact.
You want to give anonymous what level of access?
No, you don't get Designer access to the NAB. tell me what you need to do and I'll do it (or tell you where it's already done).
Don't re-invent the wheel - we already have a db that has all the information you need here: if it's not in the format you want, let me know and I'll add the view you need.
Testing a new web app, and you need to make sure the server and domain referrals are working? Remember what I told you about your hosts file? There you go then.
No, you cant use the company SSL certificate for testing. Use your dev/test domain's CA process.
No, you can't automatically create new dbs unless I know how often your agent's going to do it.
You want to run it when? Dream on, if you want the users not to hunt you down with a rusty can opener while they lose all access to the server because your agent fires up during the monthly reporting panic.
OK, so it's mostly all noes, but maintaining a production environment sometimes means locking a developer's hands. Safer that way.
Posted by Dave Harris At 04:16:10 AM On 06/30/2008 | - Website - |
How about not coding group names into an app. That's pure config and belongs admin / app support.
The biggest thing that devs and admins need to understand is how to work together. Devs will often understand enough admin to set up a dev server and configure it to do what they want, but won't have an appreciation for what needs to be done to keep a production environment running smoothly. Admins' favourite work is "no", but they need to understand that devs have been tasked with developing an app by the business. Elegant solutions to that problem may have unusual characteristics.
In short, everyone needs to work together. If there is an antagonistic divide between the two camps then you'll never get the full potential out of the platform and spend a lot of time pissed off. And who wants that.
Posted by Kerr At 05:06:50 AM On 06/30/2008 | - Website - |
1. Understanding security beyond the ACL. In my opinion this is a pretty basic requirement for any developer. Familiarizing myself with how secondary address books are set up, how password strength is assigned, and the order by which Domino checks the address books not only helped me troubleshoot issues with access to applications I designed, it helped me design them better in the first place.
2. Know your environment's mail routing configuration. I can't stress this enough.
3. Plan your agents--scheduled or web-triggered--well. That means learning the maximum number of simultaneous agents, the business and after-hours maximum execute times, and knowing (or at least working in conjunction with your admin who should know) the various maintenance jobs that will run on the server (and their times) so that agents will run at times when server maintenance is not being performed (or when other high-performance agents are running).
4. Don't just consider your application when designing it. If every column in every view is sorted *and* you store thousands of documents *and* your application will reside on a server that deploys other applications, chances are, you're going to hit performance snags in production. This isn't the admin's fault, and it isn't the server's fault. It's the developer's fault; learn to play nicely with others.
5. This references #3 somewhat, but understand what is going on in the Notes administration process when various events happen. If your agent creates an adminp request that requires administrative approval before executing, you'd be better off knowing that before designing your workflow (and associated times) around mistaken assumptions.
6. Don't always write your agents' error messages to log.nsf. If you need detailed agent logging, create an agent log database to be deployed with your application. It'll be easier for the developers and the administrators to troubleshoot problems.
7. Test your application well using volumes that you anticipate will occur in production. If you're fortunate enough to have a test environment which mimics production, use it to its fullest and really put your application through its paces. Which brings me to #8
8. Take the time and schedule a meeting (or meetings) with the administrator(s) of the environment you'll be deploying to. Give them an overview of the design, what its primary objectives will be, and review thoroughly all the agents, the security, and any other design features which will potentially affect the environment. Yes, admins are busy folks, but I'd wager 10 to 1 odds, they'd rather identify potential problems in a design *before* it hits production. If you've been able to test extensively as per #7, show your test case results in these meetings.
OK. So that's not ten. Here's a bonus. If you, the developer, are able, start to test your application in the next release of Notes/Domino as soon as you can. That way, you're prepared for when the admins come to you to say, "Oh, we're upgrading to version 8 at the end of this quarter."
Posted by Jennifer Armentrout At 12:07:56 PM On 06/30/2008 | - Website - |
I think first and foremost, admins should understand at what times (and for what operations) @Formula language is useful, when LotusScript is better than @Formula language, and when Java trumps all considerations. Many admins may never write a line of code in their entire career, but it can (at least) help if one is reviewing an application before deployment, particularly if a developer privileges one tool over the others in design.
I would also recommend all admins gain a basic understanding of the most frequently-used classes in LotusScript and/or Java, particularly the back-end classes since they are more likely to be used in scheduled/web-triggered agents and will (I suspect) take up most of the agent computing time on the server.
Check the "what's new with release ___" in the design help file of the next version of Notes/Domino. Again, this is more of a code-review tip: better to find instances where developers have relied on code not supported in an environment before the application is deployed.
Most developers and admins have been burned (or know someone who's been burned) by poorly-handled readers fields within documents and know to check for these things before releasing an application into production. Equally as important (though in my experience more overlooked) are the areas within design elements where developers can grant use/author and use/reader access to the element itself. Admins should be familiar with all the design elements and where access can be granted to each.
A general understanding of private and private on first use views/folders, when and how they should be used, and for what purposes -- particularly if users or groups of users will be allowed to store those private views on the server.
@DBLookup. I reckon that after enormous agents and view indexing issues, frequent use of @DBLookup (particularly within a single form) is responsible for the most performance complaints generated by end-users. Understanding what @DBLookup does and how it performs can significantly improve code review prior to deployment (although one hopes that a developer would find this during test!)
and that's all I've got so far...
Posted by Jennifer Armentrout At 12:57:13 PM On 06/30/2008 | - Website - |
Posted by Jens At 04:23:24 AM On 07/04/2008 | - Website - |
Posted by Busby SEO Challenge At 01:58:56 AM On 08/09/2008 | - Website - |
Posted by Busby SEO Challenge At 03:57:47 AM On 08/09/2008 | - Website - |