<div class="markdown">
<p dir="auto">Hi Ernesto,</p>

<p dir="auto">Thanks for your reply.</p>

<blockquote>
<p dir="auto">I must confess that I am not a Composer/Packagist specialist.</p>
</blockquote>

<p dir="auto">I am diving into the topic myself.</p>

<blockquote>
<p dir="auto">I expect some input from Tom on that matter too.</p>
</blockquote>

<p dir="auto">I was in contact with him beginning of January about the topic. <br>
I looked to me many things were un-decided or un-clear at that time.<br>
So this thread is a good opportunity to help in clarifying the situation.</p>

<p dir="auto">I started a Note where to collect some info about Composer.<br>
<a href="https://notes.typo3.org/p/composer">https://notes.typo3.org/p/composer</a></p>

<p dir="auto">Some part could be added to the Blue Print or to the Wiki at one point.<br>
<a href="http://wiki.typo3.org/Blueprints/Packagemanager">http://wiki.typo3.org/Blueprints/Packagemanager</a></p>

<blockquote>
<p dir="auto">On the other topic: I thought the "typo3/" in the name was reserved for<br>
official packages which would also use the "TYPO3" Vendor name. If you<br>
are doing your own packages, you would use your own vendor name as a PHP<br>
namespace and also in the vendor part of the composer "name". Maybe Tom<br>
can clarify (and this needs to be properly documented yet!!!).</p>
</blockquote>

<p dir="auto">Ah! This is quite important. I overlooked <a href="http://wiki.typo3.org/Namespaces#Does_and_don.27ts_for_developers">the conventions related to namespaces</a>. Indeed, "TYPO3\CMS" is reserved for Core extensions and a different vendor name <strong>must</strong> be defined for a third-party extensions.</p>

<p dir="auto">This vendor name must be reflected in the Composer file (and must not be "typo3/cms-" for third party extensions).</p>

<pre><code>{
    "name":"vendor/package_name"
}
</code></pre>

<p dir="auto">Thanks for your input.</p>

<p dir="auto">Fb<br>
-- <br>
Ecodev Sàrl - Rue de la Serre 11 - 2000 Neuchâtel - Switzerland</p>

<p dir="auto">Tel / VoIP   + 41 32 511 08 18<br>
Web          <a href="http://www.ecodev.ch">http://www.ecodev.ch</a><br>
On 24 Jan 2014, at 20:56, Ernesto Baschny [cron IT] wrote:</p>

<blockquote>
<p dir="auto">Hi Fabien,</p>

<p dir="auto">great news that the server team is looking into that. I expect some<br>
input from Tom on that matter too. I must confess that I am not a<br>
Composer/Packagist specialist.</p>

<p dir="auto">For the Core names, this change is still pending:</p>

<pre><code>https://review.typo3.org/#/c/25503/
</code></pre>

<p dir="auto">which would rename the TYPO3 Core extension composer names from:</p>

<pre><code>"name":"typo3/cms/<extname>"
</code></pre>

<p dir="auto">to</p>

<pre><code>"name":"typo3/cms-<extname>"
</code></pre>

<p dir="auto">which would address the error you mention below. I would say "let's do<br>
it", if nothing speaks against it.</p>

<p dir="auto">On the other topic: I thought the "typo3/" in the name was reserved for<br>
official packages which would also use the "TYPO3" Vendor name. If you<br>
are doing your own packages, you would use your own vendor name as a PHP<br>
namespace and also in the vendor part of the composer "name". Maybe Tom<br>
can clarify (and this needs to be properly documented yet!!!).</p>

<p dir="auto">Thanks for bringing that up!</p>

<p dir="auto">Cheers,<br>
Ernesto</p>

<p dir="auto">Fabien Udriot schrieb am 24.01.2014 07:57:</p>

<blockquote>
<p dir="auto">Hi folks.</p>

<p dir="auto">For people interested in Composer / Packagist.</p>

<p dir="auto">There is a Server Team effort to bring all TYPO3 CMS extensions hosted<br>
on git.typo3.org to Packagist. This would be an additional service<br>
provided by our infrastructure. Assuming there is composer.json file in<br>
the extension and the package is registered at Packagist, Gerrit, in a<br>
hook, will inform Packagist a new commit was made. This works already<br>
like that for Flow packages.</p>

<p dir="auto">I played a little bit with one extension and it looks this is easy...<br>
except for the name in the Composer file which is problematic. I have<br>
been told, the name pattern would look like "name": "typo3/cms-foo"<br>
which gives with my test:</p>

<p dir="auto">|{<br>
  "name": "typo3/cms-rss_display",<br>
  "type": "typo3-cms-extension"<br>
}<br>
|</p>

<p dir="auto">It is correctly display at<br>
<a href="https://packagist.org/packages/typo3/cms-rss_display">https://packagist.org/packages/typo3/cms-rss_display</a></p>
</blockquote>

<p dir="auto">AFAIK this is not intended. The "typo3" vendor is only for official<br>
packages. Extensions from "other vendors" should go with their own<br>
vendor names, i.e. "name": "typo3/rss_display"</p>

<blockquote>
<p dir="auto">However, when consuming the package the path will be<br>
|typo3conf/ext/cms-rss<em>display| (and not |ext/rss</em>display|, I don't want<br>
the "cms" segment)</p>

<p dir="auto">To see in practice, you can try:</p>

<p dir="auto">|$> nano composer.json (paste content below)<br>
$> composer install<br>
{<br>
  "require": {<br>
      "composer/installers": "*",<br>
      "typo3/cms-rss_display": "dev-master"<br>
  }<br>
}<br>
|</p>

<p dir="auto">I am wondering whether there is some additional configuration to tell<br>
the final name but I don't think so<br>
<a href="https://getcomposer.org/doc/04-schema.md">https://getcomposer.org/doc/04-schema.md</a>. Or in the<br>
"composer/installers" Package a patch to be submitted? Or having our own<br>
installer like<br>
<a href="https://packagist.org/packages/typo3/flow-composer-installers">https://packagist.org/packages/typo3/flow-composer-installers</a>?</p>

<p dir="auto">Otherwise I suggest to move to another name pattern which works - tested<br>
with success!</p>

<p dir="auto">|{<br>
  "name": "typo3cms/rss_display",<br>
  "type": "typo3-cms-extension"<br>
}<br>
|</p>

<p dir="auto">BTW the name picked for the Core extensions is not valid for Packagist.<br>
This is not decided whether they go to Packagist one day (could make<br>
sense if we change the distribution strategy) but I suggest to rename<br>
the naming to be Packagist compliant.</p>

<p dir="auto">|{<br>
  "name": "typo3/cms/filemetadata",<br>
  "type": "typo3-cms-framework",<br>
}<br>
|</p>

<p dir="auto">Packagist will complain: the complete name should match<br>
|"<a href="%5B_.-%5D?%5Ba-z0-9%5D+">a-z0-9</a><em>/<a href="%5B_.-%5D?%5Ba-z0-9%5D+">a-z0-9</a></em>"|. What about<br>
|typo3cms| as well?</p>

<p dir="auto">|{<br>
  "name": "typo3cms/filemetadata",<br>
  "type": "typo3-cms-framework",<br>
}<br>
|</p>

<p dir="auto">Let me know what you think.</p>

<p dir="auto">Fb.</p>

<p dir="auto">Ps. To be reminded the work of Lightwerk which provides Composer support<br>
for TER extensions<br>
<a href="http://composer.lightwerk.com/">http://composer.lightwerk.com/</a></p>

<p dir="auto">--<br>
Ecodev Sàrl - Rue de la Serre 11 - 2000 Neuchâtel - Switzerland</p>

<p dir="auto">Tel / VoIP + 41 32 511 08 18<br>
Web <a href="http://www.ecodev.ch">http://www.ecodev.ch</a></p>
</blockquote>

<hr>

<p dir="auto">Before posting to this list, please have a look to the posting rules<br>
on the following websites:</p>

<p dir="auto"><a href="http://typo3.org/teams/core/core-mailinglist-rules/">http://typo3.org/teams/core/core-mailinglist-rules/</a><br>
<a href="http://typo3.org/development/bug-fixing/diff-and-patch/">http://typo3.org/development/bug-fixing/diff-and-patch/</a></p>

<hr>

<p dir="auto">TYPO3-team-core mailing list<br>
<a href="mailto:TYPO3-team-core@lists.typo3.org">TYPO3-team-core@lists.typo3.org</a><br>
<a href="http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-team-core">http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-team-core</a></p>
</blockquote>

</div>