Closed alfonsogarciacaro closed 6 years ago
Sure I can help on this subject if we give me a go :)
go
@MangelMaxime I forgot to mention that we need to update the project to Fable 1.1.2, I'll do it when Elmish packages have been updated :+1:
@alfonsogarciacaro That's true :)
I will prepare the template like so we will just need to update the Fable versions
@forki Do you want me to convert the project structure (speaking of the Elmish part) to the same structure in the Elmish templates. Separates files for Types, State, View, Api etc. ?
I'm not sure if Iike the structure ;-) but if others like @et1975 think it's a good idea then yes please
Make it a template option ;)
Personally, I find it intuitive and scalable as every "elmish part" will have the same. After, as always it's a matter of personal preference. ^^
Lol @et1975 we could but not really maintainable :p
I will focus on making the template as it is for now. Will see in the PR
Ok @et1975 what do you prefer? I'm actually fine with one file and 3 files.
I find separate files to be preferable for anything but the mickey-mouse stuff:
one particular problem I have is that then many many files are called Types.fs and it's hard(er) in ionide to get the right one with Ctrl+P /cc @Krzysztof-Cieslak
I've been having this structure discussion with myself, so great to see it here too! Happy to help where I can.
I've tried to split the files apart for structure (and learning). For example, I tried to mimic the official Elm example file structures and the "Kris Jenkins style". One thing I noticed, is that it's not that easy to do at the moment, due to some (maybe) encapsulation issues (some raised in #124). I found I had to make code changes, because when split, things broke and could not be fixed purely via file order changes. Therefore, I think it would be worth splitting apart, just to make sure that it can be done. We can easily advise people on how to collapse down a split structure.
Some examples/docs of .net templating engine (the dotnet new
templates) in https://github.com/dotnet/dotnet-template-samples
the source repo is https://github.com/dotnet/templating , all issue/q open there, the repo maintainer is awesome
we have to move everything to a Content folder (unless @enricosada knows another possibility).
Just use the right wildcard path include in the template .proj.
It need to be in a specific path in the nupkg, but you can get the files from where you want.
As a note, the git install of dotnet new
is not yet implemented.
Thanks for the info @enricosada
@MangelMaxime I was working on further changes in my local copy (past that of stuff in #124) and ended up with a "global" types file (containing UserData, Page and toHash) . Was just looking through the old Elmish samples and saw that you had pretty much the same thing.
In the current template here, these global types are located in Messages.fs
. This makes them global due to file order, but caused me some confusion, as they are not message types. They could be put in another file. However, I'm thinking that Page
is an app level type for routing and could be made local to App
. This would force Menu
to have a model that contains the link information, rather than baked in knowledge of the pages.
Maybe it would be good if the global types are very explicit and separate form the app model types. This is also mentioned in a comment on @krisajenkins blog post.
Just wanted to note this here, before I forgot! Will look forward to your PR.
@MangelMaxime I was thinking again about suggesting some scaffold changes in a PR. Should I do them against master
, or is it still sensible to wait for the template?
@bentayloruk You can do it against master.
I will restart the template from zero when I have time. (Will not move the repo into a content folder etc.
Will do, thanks.
Is there a template available yet, or is that still a WIP?
For the moment the work on the template have been stopped.
But you can download the repo and start from here.
I'd very much like to pick this work up, albeit with a much simplified code base. This means: the bookstore itself would go, probably the log-in would go as well, the docker stuff would go - it would maybe just have a single GET endpoint which proved that the back and front end were connected.
yes for the template that would be best
I started investigating what is the minimal setup required to work Suave + Fable + Elmish and came up with this. I'm happy to proceed with creating a dotnet template on top of that. This does not however contain any Azure bits - not sure how a template could relate to Azure other than creating Docker images? Looking forward to your feedback. My interest is to eventually create a GitBook-based tutorial for SAFE stack, and I'd ideally start the bootstrapping with creating from a solid template.
Yes we don't need azure for minimal samples
Am 21.10.2017 11:56 schrieb "Tomasz Heimowski" notifications@github.com:
I started investigating what is the minimal setup required to work Suave + Fable + Elmish and came up with this https://github.com/theimowski/SAFE-tutorial/tree/template_candidate. I'm happy to proceed with creating a dotnet template on top of that. This does not however contain any Azure bits - not sure how a template could relate to Azure other than creating Docker images? Looking forward to your feedback. My interest is to eventually create a GitBook-based tutorial for SAFE stack, and I'd ideally start the bootstrapping with creating from a solid template.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SAFE-Stack/SAFE-BookStore/issues/122#issuecomment-338379734, or mute the thread https://github.com/notifications/unsubscribe-auth/AADgNFx2rQdZBlKUwSNaS4fNiglpUgiiks5sub_GgaJpZM4N_mcX .
Any inclusion of Azure (or GCP, or whatever) should be a separate template, IMO. With SAFE there's quite an array of options, but aiming for the simplest one that works locally is probably best.
Ok, do you want me to push the repo with src for template to SAFE-Stack org? If so I'd need to be added to the org
Yes that would be great. I think @isaac_abraham can give you access rights
Am 22.10.2017 15:11 schrieb "Tomasz Heimowski" notifications@github.com:
Ok, do you want me to push the repo with src for template to SAFE-Stack org? If so I'd need to be added to the org
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SAFE-Stack/SAFE-BookStore/issues/122#issuecomment-338476222, or mute the thread https://github.com/notifications/unsubscribe-auth/AADgNFyJKxzX8DQt3DGH_t1sOo8GMUbNks5suz8LgaJpZM4N_mcX .
/cc @isaacabraham
The template is ready:
dotnet new -i SAFE.Template::*
dotnet new SAFE
build.cmd
/ build.sh
dotnet run --project src\Server\Server.fsproj
http://localhost:8080/index.html
When I get access to the org I'll push the sources under SAFE-template
project.
Added. Thanks for doing this - great stuff.
Cool, thanks. Template source is now available here: https://github.com/SAFE-Stack/SAFE-template
Can we close this issue?
It may be a good idea to convert the repo to a template so users can create a project easily using dotnet SDK. It would still be possible to clone and use the project directly, though we have to move everything to a
Content
folder (unless @enricosada knows another possibility).What do you think? If we make this a template, maybe @MangelMaxime can help with that?