<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for jjmojojjmojo: In Effect</title>
	<atom:link href="http://lionfacelemonface.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://lionfacelemonface.wordpress.com</link>
	<description>Programming... for life</description>
	<lastBuildDate>Wed, 14 Oct 2009 04:03:59 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on extending a buildout: taking out unwanted parts by Martin Aspeli</title>
		<link>http://lionfacelemonface.wordpress.com/2009/10/13/buildout-remove-parts/#comment-157</link>
		<dc:creator>Martin Aspeli</dc:creator>
		<pubDate>Wed, 14 Oct 2009 04:03:59 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=280#comment-157</guid>
		<description>Which version of buildout? There was a bug related to +=/-= recently.

Try

[versions]
zc.buildout = 1.4.1

and then running bin/buildout -n once.</description>
		<content:encoded><![CDATA[<p>Which version of buildout? There was a bug related to +=/-= recently.</p>
<p>Try</p>
<p>[versions]<br />
zc.buildout = 1.4.1</p>
<p>and then running bin/buildout -n once.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Request For Comments: My Plone/Apache Stack by Shane Hathaway</title>
		<link>http://lionfacelemonface.wordpress.com/2009/10/01/rcf-ploneapache-stack/#comment-152</link>
		<dc:creator>Shane Hathaway</dc:creator>
		<pubDate>Fri, 02 Oct 2009 01:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=251#comment-152</guid>
		<description>I recently set up something similar.  Unfortunately, there is a possible hole in your configuration: the Plone logged_out page has a login form.  Your configuration directs logged_out to HTTP, so if someone logs out and uses the logged_out page to log in again, I think they will send their credentials over HTTP rather than HTTPS.

I have not confirmed this, but if I&#039;m right, I think the best solution is to change logged_out to display a link to the login page, rather than the login form.  Another option is to leave users in HTTPS mode when logging out.</description>
		<content:encoded><![CDATA[<p>I recently set up something similar.  Unfortunately, there is a possible hole in your configuration: the Plone logged_out page has a login form.  Your configuration directs logged_out to HTTP, so if someone logs out and uses the logged_out page to log in again, I think they will send their credentials over HTTP rather than HTTPS.</p>
<p>I have not confirmed this, but if I&#8217;m right, I think the best solution is to change logged_out to display a link to the login page, rather than the login form.  Another option is to leave users in HTTPS mode when logging out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by Dan Thomas</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-137</link>
		<dc:creator>Dan Thomas</dc:creator>
		<pubDate>Tue, 18 Aug 2009 16:48:37 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-137</guid>
		<description>I have successfully deployed LDAP authentication for numerous Plone websites and I would suggest you use Plone for read-only lookup to multiple connectors. In my case I use Active Directory AND the local Plone user repository, but you can add more connectors, they are read sequentially. I don&#039;t think it&#039;s a good idea to update AD-based metadata directly from Plone, you invite breakage or insecure connections. 

In my typical use case, I create a Plone OU in AD, put new groups that Plone needs into it, and populate those groups with my AD users. Non-AD users get entered directly into Plone. 

You might want to consider a centralized LDAP tool for managing user data, and Plone for all lookups (cached, of course).</description>
		<content:encoded><![CDATA[<p>I have successfully deployed LDAP authentication for numerous Plone websites and I would suggest you use Plone for read-only lookup to multiple connectors. In my case I use Active Directory AND the local Plone user repository, but you can add more connectors, they are read sequentially. I don&#8217;t think it&#8217;s a good idea to update AD-based metadata directly from Plone, you invite breakage or insecure connections. </p>
<p>In my typical use case, I create a Plone OU in AD, put new groups that Plone needs into it, and populate those groups with my AD users. Non-AD users get entered directly into Plone. </p>
<p>You might want to consider a centralized LDAP tool for managing user data, and Plone for all lookups (cached, of course).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by jjmojojjmojo</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-133</link>
		<dc:creator>jjmojojjmojo</dc:creator>
		<pubDate>Mon, 10 Aug 2009 13:34:00 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-133</guid>
		<description>I hadn&#039;t thought about user id conflicts, that&#039;s a very good point. I think we&#039;d probably do some sort of asynchronous &quot;pull&quot; from AD to help get people started, but I don&#039;t think it&#039;s a huge problem if the two data sources differ. The AD is used for campus wide concerns (sending alert SMS messages, notices via campus mail, etc), our sites are very specific to research and I could see people intentionally having different data in our LDAP. 

In fact, AD is only in the mix because of our campus single sign on system. It forces the users to change their passwords every 3 months, has a good password policy, etc. And it&#039;s ubiquitous. :)

We do definitely want users to be able to update their own info, my concern is for Samba stuff. We deal with Private Health Information so we have to be extra careful.

Thanks!!</description>
		<content:encoded><![CDATA[<p>I hadn&#8217;t thought about user id conflicts, that&#8217;s a very good point. I think we&#8217;d probably do some sort of asynchronous &#8220;pull&#8221; from AD to help get people started, but I don&#8217;t think it&#8217;s a huge problem if the two data sources differ. The AD is used for campus wide concerns (sending alert SMS messages, notices via campus mail, etc), our sites are very specific to research and I could see people intentionally having different data in our LDAP. </p>
<p>In fact, AD is only in the mix because of our campus single sign on system. It forces the users to change their passwords every 3 months, has a good password policy, etc. And it&#8217;s ubiquitous. :)</p>
<p>We do definitely want users to be able to update their own info, my concern is for Samba stuff. We deal with Private Health Information so we have to be extra careful.</p>
<p>Thanks!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by jjmojojjmojo</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-132</link>
		<dc:creator>jjmojojjmojo</dc:creator>
		<pubDate>Mon, 10 Aug 2009 13:27:21 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-132</guid>
		<description>I knew I wasn&#039;t the first one to have this problem :) 

And incidentally, it looks like we may be in the same area of study! 

I haven&#039;t done a lot with LDAP in the past, but I had a feeling it wouldn&#039;t be ideal for storing application data. Thanks for confirming that.

I will definitely check out GUM, if we end up using it here we&#039;ll be happy to help with that TODO list :)</description>
		<content:encoded><![CDATA[<p>I knew I wasn&#8217;t the first one to have this problem :) </p>
<p>And incidentally, it looks like we may be in the same area of study! </p>
<p>I haven&#8217;t done a lot with LDAP in the past, but I had a feeling it wouldn&#8217;t be ideal for storing application data. Thanks for confirming that.</p>
<p>I will definitely check out GUM, if we end up using it here we&#8217;ll be happy to help with that TODO list :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by jjmojojjmojo</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-131</link>
		<dc:creator>jjmojojjmojo</dc:creator>
		<pubDate>Mon, 10 Aug 2009 13:17:07 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-131</guid>
		<description>It&#039;s an odd situation. We&#039;ve got a Director physically leaving, but her responsibilities as Director won&#039;t be going away. She&#039;s also adding new staff who won&#039;t be affiliated with our university, but still working closely with her. 

That said, you do make an excellent point. When I added the requirement for Samba access, it was without any critical discussion. My boss said &quot;we need to add these people to our website&quot; and I said &quot;OK, will they need Samba access too&quot; and he said &quot;yes&quot;... and so a requirement was born :P 

I need to talk to him again and clarify exactly what sort of access is really required; I need to get some specific cases out of him. I&#039;ll be surprised if Plone couldn&#039;t handle all of it.

Thanks :)</description>
		<content:encoded><![CDATA[<p>It&#8217;s an odd situation. We&#8217;ve got a Director physically leaving, but her responsibilities as Director won&#8217;t be going away. She&#8217;s also adding new staff who won&#8217;t be affiliated with our university, but still working closely with her. </p>
<p>That said, you do make an excellent point. When I added the requirement for Samba access, it was without any critical discussion. My boss said &#8220;we need to add these people to our website&#8221; and I said &#8220;OK, will they need Samba access too&#8221; and he said &#8220;yes&#8221;&#8230; and so a requirement was born :P </p>
<p>I need to talk to him again and clarify exactly what sort of access is really required; I need to get some specific cases out of him. I&#8217;ll be surprised if Plone couldn&#8217;t handle all of it.</p>
<p>Thanks :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by Petri Savolainen</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-129</link>
		<dc:creator>Petri Savolainen</dc:creator>
		<pubDate>Fri, 07 Aug 2009 07:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-129</guid>
		<description>If you offer access to Plone to the outside collaborators, do they _really_ still need access to samba for file sharing? Unless there&#039;s significant amount of files in samba shares the external collabs _absolutely_ need access to (ie. they cannot be moved/copied to Plone for external collabs), just use existing AD and add external collaborators to Plone manually. The lowest-cost approach by far.

Often the most cost-effective solution is to rethink the problem and recheck the set of the absolutely critical minimum requirements, rather than jumping into implementation.</description>
		<content:encoded><![CDATA[<p>If you offer access to Plone to the outside collaborators, do they _really_ still need access to samba for file sharing? Unless there&#8217;s significant amount of files in samba shares the external collabs _absolutely_ need access to (ie. they cannot be moved/copied to Plone for external collabs), just use existing AD and add external collaborators to Plone manually. The lowest-cost approach by far.</p>
<p>Often the most cost-effective solution is to rethink the problem and recheck the set of the absolutely critical minimum requirements, rather than jumping into implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by Kevin Teague</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-128</link>
		<dc:creator>Kevin Teague</dc:creator>
		<pubDate>Fri, 07 Aug 2009 00:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-128</guid>
		<description>Yeah, keeping track of users and groups can get pretty messy no matter how you approach it.

In our organization we have Plone sites, other web apps, and all the major os&#039;es (Linux, Windows and Mac). We have LDAP servers and ActiveDirectory servers for auth/auth.

The LDAP for filesystem/server access uses a different set of accounts than we use for logging into web applications. This is because not all the web apps are over https, so we don&#039;t want to comprise network security with user&#039;s who are lax about their web passwords. Since the web-accessed content is less sensitive, we allow user&#039;s to set weaker passwords themselves as well (for better-or-worse, I imagine some user&#039;s just re-use their network password for web).

One set of accounts is chosen to contain additional user data (doesn&#039;t really matter that much if it&#039;s AD, network LDAP or web LDAP, just pick one - we use the web LDAP). Then we point Linux and Mac mail clients to that LDAP source so that user&#039;s can do address autocompletion in their mail client. Then we sync nightly that data using a simple Python script into the corresponding fields in AD so that Windows users can access address information in Outlook (although this app has no autocomplete with networked address books, but it&#039;s no surprise that Outlook is a pretty poor mail client).

For updating the main user and group data, I looked at many of the available LDAP and AD management tools, and didn&#039;t really find them satisfactory. I do use phpLDAPadmin as an internal sysadmin-only tool for exploring/poking-at the different LDAP and AD servers. But all of LDAP and AD management tools are terribly generic, which gives them awful usability. I wanted a tool with the following criteria:

 * Only present the fields that we are interested in managing
 
 * Don&#039;t use only the default help text for the LDAP schemas (we use inetOrgPerson as a base). This text is too generic and needs to be made more user-friendly in order to be useable by a project manager or admin secretary.
 
 * Web-based: installing a GUI tool across Windows, Mac and Linux workstations is way to much work. A sngle web apps are much easier to deploy than three different types of clients across 250 workstations.
 
Since I couldn&#039;t find a tool I liked, I wrote my own :)

http://www.bcgsc.ca/platform/bioinfo/software/gum

It&#039;s actually worked out really well, since user&#039;s really like that they have stable URLs they can reference to see who exactly belong to a specific group or viewing a person&#039;s user account details. And we can delegate updates access to whomever we like. Originally I attemtped to provide fine-grained access to allowing people to only update certain accounts or certain groups, but found that was becoming a big hassle and there were way too many corner cases. So instead I just made a single role for all edits, and then just log all edits performed through GUM into the ZODB. In this way, we can see if anyone is doing any &quot;problematic&quot; edits (which is really super-rare), and having an edit history can be invaluable with employee turn-over and trying to figure out who/why certain accounts got like they did!

Since it&#039;s written in Grok, I&#039;ve also found that the Zope Component Architecture works well for creating a plug-in system, so GUM also makes a good place to hang an assortment of synchronization and assorted management scripts that I&#039;ve written to help push data around to different places, etc.

For dealing with additional user data, that isn&#039;t covered by a common LDAP or AD schema, I&#039;ve tinkered with extending our inetOrgPerson schema objects with an additional custom schema. But I&#039;ve found dealing with LDAP is generally quite a bit of hassle - documentation tends to be poor, writes are non-transactional, and the python-ldap api isn&#039;t as comfortable to use as writing to whatever you&#039;re happiest with for managing ad-hoc data, and finally you need to be more careful about updating LDAP since it sucks to take down *everything* in your organization because you&#039;re just trying to restart the LDAP servers to update the schema for some inconsequintial field. For ad-hoc user data, I use the ZODB, since I&#039;m really comfortable with it, and it&#039;s super easy to use - then just add some custom Views in a seperate distribution installed alongside our GUM app instance. But using a relational db would work just as well if that&#039;s what your comfortable with.

Finally we use the old school, &quot;PasswordResetTool&quot; for Plone to allow external collaborators the chance to change their web-only passwords themselves.

As for our groups, we have a single group source in LDAP, but groups only store Title, Id, and List of User Accounts. So we have a tonne of groups that are still isolated and need to be manually updated and are perpetually out-of-sync (e-mail groups, issue tracker groups, posix groups). Tackling groups in a more one-stop automated fashion is still on the to-do list.</description>
		<content:encoded><![CDATA[<p>Yeah, keeping track of users and groups can get pretty messy no matter how you approach it.</p>
<p>In our organization we have Plone sites, other web apps, and all the major os&#8217;es (Linux, Windows and Mac). We have LDAP servers and ActiveDirectory servers for auth/auth.</p>
<p>The LDAP for filesystem/server access uses a different set of accounts than we use for logging into web applications. This is because not all the web apps are over https, so we don&#8217;t want to comprise network security with user&#8217;s who are lax about their web passwords. Since the web-accessed content is less sensitive, we allow user&#8217;s to set weaker passwords themselves as well (for better-or-worse, I imagine some user&#8217;s just re-use their network password for web).</p>
<p>One set of accounts is chosen to contain additional user data (doesn&#8217;t really matter that much if it&#8217;s AD, network LDAP or web LDAP, just pick one &#8211; we use the web LDAP). Then we point Linux and Mac mail clients to that LDAP source so that user&#8217;s can do address autocompletion in their mail client. Then we sync nightly that data using a simple Python script into the corresponding fields in AD so that Windows users can access address information in Outlook (although this app has no autocomplete with networked address books, but it&#8217;s no surprise that Outlook is a pretty poor mail client).</p>
<p>For updating the main user and group data, I looked at many of the available LDAP and AD management tools, and didn&#8217;t really find them satisfactory. I do use phpLDAPadmin as an internal sysadmin-only tool for exploring/poking-at the different LDAP and AD servers. But all of LDAP and AD management tools are terribly generic, which gives them awful usability. I wanted a tool with the following criteria:</p>
<p> * Only present the fields that we are interested in managing</p>
<p> * Don&#8217;t use only the default help text for the LDAP schemas (we use inetOrgPerson as a base). This text is too generic and needs to be made more user-friendly in order to be useable by a project manager or admin secretary.</p>
<p> * Web-based: installing a GUI tool across Windows, Mac and Linux workstations is way to much work. A sngle web apps are much easier to deploy than three different types of clients across 250 workstations.</p>
<p>Since I couldn&#8217;t find a tool I liked, I wrote my own :)</p>
<p><a href="http://www.bcgsc.ca/platform/bioinfo/software/gum" rel="nofollow">http://www.bcgsc.ca/platform/bioinfo/software/gum</a></p>
<p>It&#8217;s actually worked out really well, since user&#8217;s really like that they have stable URLs they can reference to see who exactly belong to a specific group or viewing a person&#8217;s user account details. And we can delegate updates access to whomever we like. Originally I attemtped to provide fine-grained access to allowing people to only update certain accounts or certain groups, but found that was becoming a big hassle and there were way too many corner cases. So instead I just made a single role for all edits, and then just log all edits performed through GUM into the ZODB. In this way, we can see if anyone is doing any &#8220;problematic&#8221; edits (which is really super-rare), and having an edit history can be invaluable with employee turn-over and trying to figure out who/why certain accounts got like they did!</p>
<p>Since it&#8217;s written in Grok, I&#8217;ve also found that the Zope Component Architecture works well for creating a plug-in system, so GUM also makes a good place to hang an assortment of synchronization and assorted management scripts that I&#8217;ve written to help push data around to different places, etc.</p>
<p>For dealing with additional user data, that isn&#8217;t covered by a common LDAP or AD schema, I&#8217;ve tinkered with extending our inetOrgPerson schema objects with an additional custom schema. But I&#8217;ve found dealing with LDAP is generally quite a bit of hassle &#8211; documentation tends to be poor, writes are non-transactional, and the python-ldap api isn&#8217;t as comfortable to use as writing to whatever you&#8217;re happiest with for managing ad-hoc data, and finally you need to be more careful about updating LDAP since it sucks to take down *everything* in your organization because you&#8217;re just trying to restart the LDAP servers to update the schema for some inconsequintial field. For ad-hoc user data, I use the ZODB, since I&#8217;m really comfortable with it, and it&#8217;s super easy to use &#8211; then just add some custom Views in a seperate distribution installed alongside our GUM app instance. But using a relational db would work just as well if that&#8217;s what your comfortable with.</p>
<p>Finally we use the old school, &#8220;PasswordResetTool&#8221; for Plone to allow external collaborators the chance to change their web-only passwords themselves.</p>
<p>As for our groups, we have a single group source in LDAP, but groups only store Title, Id, and List of User Accounts. So we have a tonne of groups that are still isolated and need to be manually updated and are perpetually out-of-sync (e-mail groups, issue tracker groups, posix groups). Tackling groups in a more one-stop automated fashion is still on the to-do list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Plone User Management: LDAP vs RDBMS vs ????? by Laurence Rowe</title>
		<link>http://lionfacelemonface.wordpress.com/2009/08/06/ldap-vs-rdbms/#comment-126</link>
		<dc:creator>Laurence Rowe</dc:creator>
		<pubDate>Thu, 06 Aug 2009 15:28:49 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=230#comment-126</guid>
		<description>I worked on a similar scenario a few years ago for a client. The solution we came up with was to use OpenLDAP as a rewriting proxy to present a consistent, single ldap view of a number of directory servers.

You may not need quite that level of indirection now that Plone has support for multiple authentication sources in PAS, though Samba might necessitate it.

The simplest solution would be to just setup a new LDAP for your non-AD users and groups and use these group memberships for permissions in Samba.

I wouldn&#039;t be overly worried about using Plone to administrate your local users and groups, but you may find an dedicated LDAP admin tool such as phpLDAPadmin or Apache Directory Studio to be more suitable (it probably depends who does the administration). Having local users be able to update their own metadata through Plone can be a great time saver.

You will need to ensure you have a scheme to avoid potential userid conflicts (ldap rewriting might be necessary here), as you have no control over users subsequently added to the Active Directory.</description>
		<content:encoded><![CDATA[<p>I worked on a similar scenario a few years ago for a client. The solution we came up with was to use OpenLDAP as a rewriting proxy to present a consistent, single ldap view of a number of directory servers.</p>
<p>You may not need quite that level of indirection now that Plone has support for multiple authentication sources in PAS, though Samba might necessitate it.</p>
<p>The simplest solution would be to just setup a new LDAP for your non-AD users and groups and use these group memberships for permissions in Samba.</p>
<p>I wouldn&#8217;t be overly worried about using Plone to administrate your local users and groups, but you may find an dedicated LDAP admin tool such as phpLDAPadmin or Apache Directory Studio to be more suitable (it probably depends who does the administration). Having local users be able to update their own metadata through Plone can be a great time saver.</p>
<p>You will need to ensure you have a scheme to avoid potential userid conflicts (ldap rewriting might be necessary here), as you have no control over users subsequently added to the Active Directory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures In Theming: Rolling My Own Viewlet Manager by Kevin</title>
		<link>http://lionfacelemonface.wordpress.com/2009/01/28/adventures-in-theming-rolling-my-own-viewlet-manager/#comment-122</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Thu, 09 Jul 2009 13:57:35 +0000</pubDate>
		<guid isPermaLink="false">http://lionfacelemonface.wordpress.com/?p=123#comment-122</guid>
		<description>I really wanted to just thank you for this great tutorial.  You documented the whole process, and even went over things most people would have skipped over -- but they proved extremely helpful to me.  Thanks so much for your effort on this.</description>
		<content:encoded><![CDATA[<p>I really wanted to just thank you for this great tutorial.  You documented the whole process, and even went over things most people would have skipped over &#8212; but they proved extremely helpful to me.  Thanks so much for your effort on this.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
