<div dir="ltr">Thanks a lot for your help and clarifications Max. Your answer helped me a lot!<br><br>Regards!<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 15, 2013 at 4:24 AM, Max Leske <span dir="ltr">&lt;<a href="mailto:maxleske@gmail.com" target="_blank">maxleske@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class="im"><div>On 15.04.2013, at 02:32, Albert Vonpupp &lt;<a href="mailto:vonpupp@gmail.com" target="_blank">vonpupp@gmail.com</a>&gt; wrote:</div>
<br><blockquote type="cite"><div dir="ltr"><div><div><div>Hello,<br><br>This is my first post and I&#39;m not sure if Metacello should go on the beginners list or if it&#39;s fine here, or if it&#39;s not even considered as part of Squeak development.<br>

<br></div>I&#39;m a total newbie to Squeak but so far I&#39;m finding it very interesting. I have to develop an academic project with a classmate and so far I&#39;ve used Squeak alone by my own without sharing anything so this new requirements raised some questions.<br>

<br>I managed to use Montecello fine but It seems to do a version control like on jar packages (doing a Java analogy). I thought of using Montecello over Dropbox with my friend. Is this solution reliable / recommended?<br>
</div></div></div></blockquote><div><br></div></div><div>To prevent confusion: Metacello and Monticello are two different things. Monticello is a version control / package management tool; Metacello manages *dependencies* between Monticello packages / versions.</div>
<div><br></div><div>The jar analogy is not half bad; basically, the source code is stored in &quot;chunk format&quot; (the same format used by the .sources and .changes files) alongside some meta information and is then zipped.</div>
<div><br></div><div>Using Monticello to share packages over Dropbox is indeed a possible solution. All you&#39;d have to do is to put your &quot;packages-cache&quot; directory (in the image directory) under Dropbox control and commit all versions to your local repository (or use an alternative local directory of course. Actually, rather use a different directory, because the package-cache gets very big, since all versions loaded from the net will be cached there).</div>
<div>The usual way of collaboration however, is to create a repository on <a href="http://ss3.gemstone.com" target="_blank">ss3.gemstone.com</a> or <a href="http://smalltalkhub.com" target="_blank">smalltalkhub.com</a> (not sure which one the Squeakers prefer, I usually work with Pharo) and commit to that repository.</div>
<div class="im"><br><blockquote type="cite"><div dir="ltr"><div><div>
<br>For me it seems more intuitive using git versioning over code files. To accomplish that I&#39;ve read something about Metacello, but the Squeak installation seems *very* confusing to me. I managed to create a filetree repository but I don&#39;t know how to link it to my git repo: <a href="https://github.com/poo2013pos/FLOdactic" target="_blank">https://github.com/poo2013pos/FLOdactic</a>. I&#39;ve read both manuals of Metacello, the one on Github and the one on Google Code but no luck so far. Can anyone please help me with this?<br>
</div></div></div></blockquote><div><br></div></div><div>Filetree simply stores the source code in a different format than Monticello (for various reasons) but is compatible with Monticello. Since there&#39;s no in-image Git support yet, you&#39;ll have to do the following (I use this method with Filetree, FSGit and LibGit, all on Github):</div>
<div>1. clone your repo from Github (let&#39;s call that directory &quot;repo&quot;)</div><div>2. load Filetree into your image:</div><div><span style="white-space:pre-wrap">        </span><span style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:13px;line-height:19px;margin:0px;padding:0px;border:0px;color:rgb(68,85,136);font-weight:bold">Installer</span><span style="background-color:rgb(248,248,248);color:rgb(51,51,51);font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:13px;line-height:19px"> </span><span style="font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:13px;line-height:19px;margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">ss3</span></div>
<pre style="margin-top:15px;margin-bottom:15px;padding:6px 10px;border:1px solid rgb(204,204,204);font-size:13px;font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;background-color:rgb(248,248,248);line-height:19px;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;color:rgb(51,51,51)">
    <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">project:</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">&#39;FileTree&#39;</span><span style="margin:0px;padding:0px;border:0px">;</span>
    <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">install:</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">&#39;ConfigurationOfFileTree&#39;</span><span style="margin:0px;padding:0px;border:0px">.</span>
((<span style="margin:0px;padding:0px;border:0px;color:rgb(68,85,136);font-weight:bold">Smalltalk</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">at:</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,115)">#ConfigurationOfFileTree</span>) <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">project</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">version:</span> <span style="margin:0px;padding:0px;border:0px;color:rgb(166,23,23);background-color:rgb(227,210,210)">#</span><span style="margin:0px;padding:0px;border:0px;color:rgb(221,17,68)">&#39;stable&#39;</span>) <span style="margin:0px;padding:0px;border:0px;color:rgb(153,0,0);font-weight:bold">load</span><span style="margin:0px;padding:0px;border:0px">.</span></pre>
<div><br></div><div>3. open Monticello</div><div>4. create a new Filetree repository and choose as target the directory &quot;repo&quot;</div><div>5. commit a version of a package to your new repository (or copy one there via the &quot;copy&quot; button)</div>
<div>6. do a &quot;git status&quot; on your &quot;repo&quot; and you&#39;ll see the Filetree files</div><div>7. &quot;git commit -am &#39;first Filetree commit&#39;&quot; and &quot;git push&quot;</div><div>8. done!</div><div class="im">
<br><blockquote type="cite"><div dir="ltr"><div><div>
<br></div>My other question is regarding Seaside. We have to implement a basic user authentication system and ACL for items. Is there something that we can reuse on Seaside classes or similar? I guess this is a quite common problem and perhaps is there something already available.<br>
</div></div></blockquote><div><br></div></div>Yes, there is indeed but I don&#39;t have the means to look it up right now. I&#39;m sure someone else can help you out there.</div><div><br></div><div>Cheers,</div><div>Max</div>
<div class="im"><div><br></div><div><br><blockquote type="cite"><div dir="ltr"><div>
<br></div>Thanks a lot!<br clear="all"><div><br>-- <br><br>Albert.<br><br><a href="http://www.albertdelafuente.com/" target="_blank">http://www.albertdelafuente.com</a>
</div></div>
<br></blockquote></div><br></div></div><br><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><br>Albert.<br><br><a href="http://www.albertdelafuente.com" target="_blank">http://www.albertdelafuente.com</a>
</div>