Meteor-Community-Packages / Meteor-CollectionFS

Reactive file manager for Meteor
MIT License
1.05k stars 237 forks source link

Publish to 0.9 Meteor package registry #407

Closed aaronjudd closed 10 years ago

aaronjudd commented 10 years ago

@raix and @aldeed Since 0.9 was released today, it would be good to publish to the new registry. (what fun, I know).

raix commented 10 years ago

Is it final? We are still missing organisations? I'm guessing 0.9.1

aldeed commented 10 years ago

It sounds like orgs are not until 0.9.1. I am going to try after lunch to get our pkgs fixed so that they can still be installed with mrt but will actually work. Mainly I think we just need to remove the name from the describe.

Supposedly they should have ability to transfer ownership by 0.9.1, too, so we could publish right now using either the weird mix of raix/aldeed that was auto-migrated, or using a dummy cfs user, and then later transfer ownership off all to a cfs org.

Gaelan commented 10 years ago

The dummy cfs user until orgs and ownership transfers seem like the best option to me.

aaronjudd commented 10 years ago

I think you can have multiple maintainers right? I tested that a while back, so if you create a cfs user, you can both publish, and with any luck convert 'cfs' to an org later.

raix commented 10 years ago

I would prefere to wait until it's settled, and close issues related to the new package system. We can add version in package.js (think i've already done this locally) so People can clone or mrt. If possible we should delete cfs from the new registry, it's all faulty since ownerships is all messed up... This is why i posted on meteor talk, asking Them to revert the automigration.

I think we Got the usernqme cfs or/and collectionfs - but @glasser mentioned that as an antipattern due to the upcomming support of orgs. Sorry about typos on ipad...

aldeed commented 10 years ago

You don't need version in package.js anymore, if you're manually cloning or copying into your packages folder or using mrt link-package. So I think people will still be able to do mrt add collectionFS. But we have to fix all the incompatibilities, primarily removing the name option from all the packages and re-releasing them on atmosphere.

aldeed commented 10 years ago

Regarding antipattern, I've already seen iron:router and others.

Gaelan commented 10 years ago

I think the biggest problem right now is the uppercase FS in the name, which isn't supported on 0.9.0. If we rename the package to collection-fs, at least for 0.9.0, then it will at least be usable via mrt.

raix commented 10 years ago

Ok, so the cli is a bit more relaxed now? We could remove the name, would be Nice if we could get the packages off the new registry - but I'm not spending time on that, mdg's job imho. I've seen iron too, i guess they are in closer dialog with the core team. Dont want to be hasty about adding a prefix user, until we get some official way.

raix commented 10 years ago

We have to rename +20 packages

aaronjudd commented 10 years ago

@raix I hope you mean that you will just keep using your usernames, but go ahead and publish, and then change to a org in 0.9.1. You know how long that might be ;-)

I think you need name in package.js if you aren't going to rename your directories to the OS antipattern of user:pkg, correct?

aaronjudd commented 10 years ago

I wish they had some aliasing.. they will need it before this mess is cleared up.

Gaelan commented 10 years ago

Only collectionFS is actually incompatible, the other packages are named cfs-* which is fine.

raix commented 10 years ago

Correct Naming folders cfs:file etc. Is an antipattern, imho when working in the terminal and multiple packages is a pain with the prefix, guess suffix would be better... @Gaelan if it's only the main package we could rename, no problem. @aldeed again, thinking about it cfs v2 is officially never released, it pre-release right :)

aldeed commented 10 years ago

@raix, if we don't release to the new server, we will have to re-release the collectionFS package as collectionfs on atmosphere, and change the api.use in all the other packages. Unfortunately, the error about capital letters is thrown by the api.use in every package, and not just by the single package that is named wrong.

aldeed commented 10 years ago

EDIT: These steps were corrected on Aug 27

I've released some package fixes, and it is now possible to get CFS working on a 0.9.0 app by following these steps:

  1. Delete the packages folder or at least delete all of the CFS-related subfolders within packages.
  2. Remove all the CFS packages from both smart.json and the ./meteor/packages list.
  3. Migrate/update your app to the METEOR@0.9.0 release either manually or using mrt migrate-app.
  4. Make sure that your app is not using any of the automigrated CFS packages. If possible, get it running without CFS added first.
  5. Run mrt uninstall --system
  6. Overwrite/add a smart.json file in your app folder with the CFS packages you need. For example:
    {
      "packages": {
        "collectionfs": {}, // note that this name has changed to all lowercase
        "cfs-gridfs": {},
        "cfs-filesystem": {},
        "cfs-s3": {},
        "cfs-graphicsmagick": {},
        "cfs-ui": {},
        "ui-dropped-event": {}
      }
    }
  1. In your app directory, run the command mrt update
  2. In your app directory, run the command meteor list. Ensure that all the packages listed in your smart.json file are also listed here. If not, do meteor add <packagename> for each one. For example, meteor add collectionfs.
  3. Enter meteor to run the app and pray.
cristiandley commented 10 years ago

@aldeed didnt work for me, keeps telling me "package.js:27:7" lowercase...problem.

pbeets commented 10 years ago

Having the same issue. I ran into this issue earlier where it did not seem to be pulling the latest commit with the updated file / package names.

aldeed commented 10 years ago

package.js:27:7 in which package? What's the full error? Make sure you're referencing the latest of all packages in smart.json, too.

nooitaf commented 10 years ago

@aldeed the latest tag collectionFS-v0.4.8 has still the capital collectionFS in package.js#L27

aldeed commented 10 years ago

Oh, OK. The release must have failed. I think it should be released correctly now.

nooitaf commented 10 years ago

@aldeed did you publish to atmosphere? mrt update its still pulling 0.4.8 ;)

factualz commented 10 years ago

I have done all that .. my packages folder contain collectionfs and smart.json and smart.lock are pointing to collectionfs and 0.4.9... However now while executing it says ReferenceError: FS is not defined

cristiandley commented 10 years ago

@factualz i had the same problem after changing the /packages/collectionfs/package.js (line 27 to 'collectionfs'). If i dont change the file that i mention i get "Error on package.js 27:7" due to 'collectionFS'

aldeed commented 10 years ago

Oh, I think it might have published as collectionfs this time, which is what I was initially trying to do and it didn't seem to work. That would actually make things slightly easier.

I won't be able to test this out again for a couple hours, but let me know if it works for any of you.

nooitaf commented 10 years ago

@aldeed there are still some smart.json files with references to collectionFS

$ find -L . -type f -iname '*.json' -print0 | xargs -0 grep 'collectionFS'

./packages/cfs-access-point/smart.json:     "collectionFS": {},
./packages/cfs-collection-filters/smart.json:       "collectionFS": {}
./packages/cfs-ui/smart.json:       "collectionFS": {}
./packages/cfs-worker/smart.json:       "collectionFS": {}
raix commented 10 years ago

@aldeed I reserved the meteor user cfs - cant use collectionfs I might have forgot. EDIT: its a while back

ThusStyles commented 10 years ago

@aldeed tried "collectionfs" in smart.json and now getting "FS is not defined"

aldeed commented 10 years ago

Just pushed fixes for this. If you were having troubles, make sure your app's smart.json references the all lowercase collectionfs: {}. Then do mrt update (be sure to do update, not install).

If it still doesn't work, then delete the packages folder in your app and do mrt uninstall --system, and then do mrt update.

Also see the updated full steps above: https://github.com/CollectionFS/Meteor-CollectionFS/issues/407#issuecomment-53503461

ThusStyles commented 10 years ago

which version should it be getting? currently at 0.4.9

aldeed commented 10 years ago

@ThusStyles 0.4.9 is correct.

ThusStyles commented 10 years ago

@aldeed still getting "ReferenceError: FS is not defined"

aldeed commented 10 years ago

@ThusStyles check what your Meteor app is using. You have to make sure the app is using the packages, too. Do meteor list and make sure that collectionfs and any others in your smart.json are listed. If not, meteor add them. They should be listed with 0.0.0 version since they're local packages, not managed by the new packaging server.

ThusStyles commented 10 years ago

Okay meteor add worked :)

factualz commented 10 years ago

Worked for me.. when i ran into problem i used 'meteor add cfs-gridfs@0.0.0' for adding local package. This fix was released in METEOR@0.9.0.1

raix commented 10 years ago

I've added version etc. to some packages and published to mrt - hope it doesnt break stuff.

@aldeed we'll get cfs:file etc.

imply/rig packages: cfs:cloud - will be imply package rig for client direct server upload etc. cfs:basic - would be the collectionFS? the basic rig to get started - open for discussion

waiting on org "cfs" https://groups.google.com/forum/#!topic/meteor-core/yMyaGM95Yfg prop. some time next week

aldeed commented 10 years ago

@raix, adding name, version, git should be fine. I don't think it will break anything. We should do that for all packages while we're waiting for the "cfs" org.

IMO, there should be cfs:standard and cfs:basic. Standard could include ejson, worker, and other useful-but-not-necessary packages while basic would have minimum necessary to function. And cfs:cloud would be like you said.

We should write up a full list, maybe even a diagram, for the readme.

raix commented 10 years ago

ok, good idea about standard and basic,

I think I made a diagram once - it would be much outdated, you thinking about some table or ascii diagram?

tanis2000 commented 10 years ago

Should we start using the meteor add cfs: with the new packaging system or still wait and use the old mrt btw?

aldeed commented 10 years ago

@tanis2000, we haven't rolled out and verified all "cfs:" packages yet, but if you want to try them at some point and they work for you, then great. :)

tanis2000 commented 10 years ago

@aldeed I might try that in the afternoon as the old mrt packages started behaving in a weird way since the upgrade to Meteor 0.9.1 https://github.com/CollectionFS/Meteor-CollectionFS/issues/418

tanis2000 commented 10 years ago

@aldeed I've just tried switching to the new cfs packages and they installed fine. Now I see that power-queue is complaining with this error:

Uncaught Error: Please add "micro-queue", "reactive-list" or other spinalQueue compatible packages 

Adding cfs:micro-queue and/or cfs:reactive-list doesn't make it work anyway.

aldeed commented 10 years ago

I'm seeing that error, too. That's what caused me to submit meteor/meteor#2524

tanis2000 commented 10 years ago

@aldeed thanks! That's good to know. I'll keep an eye on that :)

aldeed commented 10 years ago

For now, you also might have to do meteor add cfs:tempstore@0.0.1 in your app to get things to work properly.

raix commented 10 years ago

hmm, yeah just spun up a quick test - seems weak deps isnt working correctly / as expected. It should be able to use the package is anywhere in the app. bugger - guess we're a bit stuck at the moment.

raix commented 10 years ago

I think its fixed - my small qa is up and running :)

tanis2000 commented 10 years ago

@raix I suppose you're running the develop branch of Meteor, aren't you? :-P

raix commented 10 years ago

yep, cfs:standard-packages (former collectionfs) is defaulted to devel, @tanis2000 Doenst meteor update work? (I'm asking because I dont know the expected behaviour) cfs:tempstore and cfs:power-queue is updated so they should be above v0.0.0

raix commented 10 years ago

note: regarding devel branch - thats only relevant when forking, meteor publish copies the package (I think)