Skip to content
This repository has been archived by the owner on Oct 28, 2020. It is now read-only.

*** PUSHING TOWARDS NEXT VERSION *** #58

Closed
ajthinking opened this issue Jul 6, 2019 · 5 comments
Closed

*** PUSHING TOWARDS NEXT VERSION *** #58

ajthinking opened this issue Jul 6, 2019 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested

Comments

@ajthinking
Copy link
Member

ajthinking commented Jul 6, 2019

Next version 馃殌

This thread is for all contributors, want-to-be-contributors and also in specific response to @septIO and @adhikasp to discuss how to get to the next version of the pipe dream platform.

Roadmap

Preliminary time frames (open for discussion):

version info when
alpha this repo at its current state Released June 2019
beta 1 implementation of the new platform including laravel support September 2019
beta 2 implementation of an additional 1-3 languages/frameworks October 2019
V1 more advanced features 2020

Baseline / scope

We need to setup a scope all the way to beta 2 (with V1 somewhat in mind). How can we do that? The Trello board could potentially act as a guide using the columns:

  • IDEAS = things to be decided on
  • QUEUED FOR BETA = minimum scope
  • POSTPONED TO V1 = cool ideas to keep for later

But I'm sure there are better ways? Illustrations/wireframes? Feature list in google sheets? Suggestions needed!

Rewrite suggestions

make core/other module a proper ES6 module with webpack build, so we don't need to write workaround for things like jest and file loader.

This sounds good, I'm not that experienced with how to export the packages in a modular way, Im sure there are a lot of room for improvement from the initial package setup. 馃憤

... Core rewrite? I鈥檝e read through it, and i see alot of optimization options, and some class/file names doesn鈥檛 always make sense as to what they do. I would also like to abstract each component further (as discussed on the GitHub issue). What are your thoughts of writing the core in TypeScript to ensure typesafety, and use some of the better parts of TypeScript such as private properties/methods, interfaces, traits etc.

I think we should pursue high quality, and all of this sounds like good ideas! 馃憤

Collaboration channels

resource purpose
Trello Overview work planning
Issues in this or other repos Detailed issue/dev discussion, since better than trello (?)
pipedream docs User/Developer docs + platform overview

Pipe Dream is in a way abstractions of abstractions and I have a hard time wrapping my head around it all. I usually do a lot of sketches in a physical notepad, but thats not good enough. Maybe we also need some kind of vector modeling tool to explain ideas and make them commitable for documentation. Any ideas? I tried draw.io which is cool but maybe not that smart for application development?


In general: how can we optimize the journey towards next version? What do you need? I'd really apprechiate your input and ideas! Thanks 馃槄

@ajthinking ajthinking pinned this issue Jul 6, 2019
@ajthinking ajthinking added help wanted Extra attention is needed enhancement New feature or request question Further information is requested labels Jul 6, 2019
@elbojoloco
Copy link

elbojoloco commented Jul 10, 2019

Hey!

One question, what do you mean with "beta 1: implementation of the new platform including laravel support"
Isn't laravel already supported?

And another question, if I'd like to contribute to what is generated by the blocks (example: ___RELATIONSHIP_METHODS_BLOCK___) where would I need to look for what is output by that?

@septIO
Copy link
Member

septIO commented Jul 10, 2019

@elbojoloco Beta 1 will see a complete rewrite of the pipe-dream core, and should come along with mor or less complete laravel support.

Regarding your question about blocks, if you want to make a new block, you need to add it to the template (Can be found in[vendor]/pipe-dream/laravel/src/templates/). If you want to extend the generated code from an already declared block (Let's take ___RELATIONSHIP_METHODS_BLOCK___ as of your example) you'll have to edit the fileFactory for that template (Let's say Model). This factory can be found in [vendor]/pipe-dream/laravel/src/resources/js/fileFactories/pipes/ModelPipe.js (for models, see the directory for a full list of all available pipes).
The specific code you're looking for in your example is at ModelPipe.js:15, that calls a method that's located on line 80. Take a look there.

@septIO septIO unpinned this issue Jul 10, 2019
@septIO septIO pinned this issue Jul 10, 2019
@damms005
Copy link

Have option to generated resource controllers (rather than plain controllers), i.e. php artisan make:controller -r ...

@ajthinking
Copy link
Member Author

@damms005 - good idea! Adding it to the feature list. Thanks!

@gurinder-xyrintech
Copy link

plz add $table->softDeletes() method
and plz add option to set default values in migration

@ajthinking ajthinking unpinned this issue Sep 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants