New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[v3] Upcoming Release #671
Comments
Will v3 still have options to build standalone (E.g Nginx, Apache, etc.)? Also is there anything changing with the build system? |
@junland Yes, you can still build it standalone :) The build system will work pretty much the same, just improved. There's a small paragraph in the issue description about this. |
Ahhh okay, guess I missed it. Sounds good! |
@junland I might put up a demo and all the sources this weekend. I can let you know if it's of any interest :) |
@andersevenrud sounds good! I'd be happy to try it out. |
We could change the source code to typescript to have a Hard Typing system and that could give us a better development experience. @andersevenrud |
@junland Sorry, but I totally forgot. The sources are now up on this org. account :) |
@mds325 I don't think I'll make any of the base packages in TS as they are very small, but I will however provide typing [definitions] ( Also, if things get to a complex point, then TS or Flex will be looked into :) |
All core modules now up on npmjs.org: https://www.npmjs.com/org/osjs I'll leave the packages for later... they're not hard to set up anyway. Not sure what schedule I'm going to set for publishing yet, but since I started on this day... I'll make it every saturday. |
A community member was asking about how to easily prototype applications, and it brought up something interesting. I put together these bundles so you can do this in whatever platform you want, a basic example being: https://jsfiddle.net/andersevenrud/m94jt9ct/5/ If you want to test this out yourself, just use these resources: At some point I'll probably set up proper CDN for this with automatic building. These links are made from my local machine using Webpack and these files: // index.js
import * as gui from '@osjs/gui';
window.OSjs = window.OSjs || {};
window.OSjs.GUI = gui; // index.scss
@import "@osjs/gui/index.scss";
@import "@osjs/standard-theme/index.scss"; Edit: Another example https://jsfiddle.net/andersevenrud/qe9s1df9/12/ |
I've started a draft of the basic manual here: I also released proper tagged versions of everything today (and updated dependency definitions), so things should be smooth sailing. Please note that I have not polyfilled anything yet, so iOS/Android, Opera and IE will probably not init properly. |
Thought I'd share the progress with you guys. Here's a list of currently available features as of today's release:
There's been some more work in the manual as well, so it should be fairly easy to play around with these features. Next up, I'll probably be focusing on finishing the GUI components and add add some authentication modules. Note The |
Another quick update:
I've also added two auth adapters: Manual has been updated with relevant documentation. |
I have some ideas:
Also, there are some bugs:
Screenshots |
It's somewhat possible. I'll look into the project you linked.
That's something I'd like to do, if I can find some time.
Icon will be applied down the line.
Yes, I'm aware. None of the apps are finished for v3.
Noted.
It's not supposed to (at least yet).
I thought I had disabled
Yes, and several other minor UI glitches. It's not done yet.
It does, just only from south-east at the moment.
I'll look into that.
Most likely yes. It's a work in progress. |
@filips123 I've fixed the following (and will release new version this weekend):
If you discover something else, please create an issue in https://github.com/os-js/osjs-client :) |
@filips123 The issue with |
@filips123 I just published the updates. |
Been a while since I've published an update here. A lot has happened, so I thought I'd note down a list of completed features as of now:
I probably forgot something... Some features currently under development/planned:
Thanks to everyone that has reported bugs and requested features. Most of the features in v2 is now in v3! So... I guess it's not that far off from going into a beta :) |
Time for another update 🙂 I've added the following since last post:
|
Another quick one for 'ya :) Updates:
New applications:
New providers: VFS adapters: |
What about Docker image and CI integration? There was Dockerfile in v2. Will there be build with all applications, providers and adapters included? |
Yes, you can host or run them separately.
It will require setting up CORS.
I'm out right now, but I can show how to do it later.
…On Sat, Jul 21, 2018, 15:42 Filip Š ***@***.***> wrote:
Is it possible to host client and server on different computers?
Also, is it possible to host client on GitHub Pages and server on Heroku?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#671 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJ3DA73vsnqMsCvKh9_SMfIqrxAdebBks5uIy_DgaJpZM4SJcwD>
.
|
@filips123 I've added basic instructions here: https://manual.os-js.org/v3/guide/deploy/#running-separately. This only works with the release I just published. |
Since I've gotten a lot of questions about it; I've put together a list of TODOs (which is sort of a basic roadmap): https://gist.github.com/andersevenrud/ebfc22ef75c6686cc2d9a6e1191a8405 I'm updating this list as things come to mind, but I've dedicated a section for the beta release. As you can see, it's not far off 😊 |
Things got set back a month or so due to some personal stuff, but it's all in full progress again. I've actually ticked off pretty much all TODOs that I wanted to have done. So expect a beta/rc soon! I also added back support for Legacy browsers (requires a couple of setup steps https://manual.os-js.org/v3/guide/deploy/#legacy-browsers) because I got some questions about this. The reason it has not worked 100% until now is because of some dependencies was not in ES5 -- but has now been resolved completely as of latest release(s). |
It looks good, but it still lacks some features and design of v2. Some apps are still very basic and with poor design. Will there be support for fullscreen mode and icons on desktop? What about touch menu or some mobile OS like theme? |
My current goal is to finish my TODO list, which involves some application improvements etc. There are actually more internal features in v3 than v2, but I suppose you mean visually. If you think they are poor, please go ahead and make some improvements yourself. PRs are much welcome.
Yes, this will all be implemented. |
Yes I mean visually 😊. Unfortunately I can not help you because I'm not expert in Node.js and related things. |
@filips123 The apps are written in regular javascript, so if you have some exeperience with that you can probably find your way around. But anyway, things will improve down the line -- I have quite a few todos, issues and the likes on this open :) |
How often will you update online demo? Some things are outdated and not fixed even you fixed them last week. |
Maybe add a demo reset to the deploy chain?
|
@filips123 Usually once a week or something like that. I actually set up the v3 server this week, so it haven't really gotten an update yet. |
@IngwiePhoenix Not sure what you mean by that. |
@andersevenrud Well, whenever you do a new release, have the demo updated automatically in the deploy/release process? That is what I meant. |
@IngwiePhoenix Ah, yes :) |
@andersevenrud why can I modify files in the v3 public demo? |
@SpaceboyRoss01 What files ? |
I can modify the files in |
@SpaceboyRoss01 Yes. That intentional. I have a cronjob that flushes the directory on an interval (can't remember exactly how often atm). |
Ok, I thought I had too much control but that's good it get's flushed. |
I have concerns about pinned issues for static announcements (like #705) or long discussions (like #18). They are not intended to be used for that. For static announcements, you should create file in repository (probably in For long discussions, you should create GitHub Teams in organization that allows organizing members and and are also good for discussions. You could create team Admins, Developers, Translators... and relevant discussion will be placed there. |
Not sure that I fully agree.
How are pinned issues not intended to be used like this? Its for drawing
attention to certain topics that are currently important or relevant,
right? "Issues" don't explicitly have to be "problems" but general
discussions. etc.
I created #705 here because it's the most obvious place to have it. I'll
probably add it to the CONTRIBUTING file or something as well.
For general announcements I usually use the community site.
Seems like github supports adding collaborators as non-org team members (
https://help.github.com/articles/adding-outside-collaborators-to-repositories-in-your-organization/)
so I'll look into that.
…On Mon, Dec 24, 2018, 21:03 Filip Š ***@***.*** wrote:
I have concerns about pinned issues for static announcements (like #705
<#705>) or long discussions (like #18
<#18>). They are not intended to be
used for that.
For static announcements, you should create file in repository (probably
in docs directory) or GitHub Gist, and maybe link it from website or
readme.
For long discussions, you should create GitHub Teams
<https://help.github.com/articles/organizing-members-into-teams/> in
organization that allows organizing members and and are also good for
discussions. You could create team Admins, Developers, Translators... and
relevant discussion will be placed there.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#671 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJ3DJFSJFUrXqNiGFKaLX8XGSa3bZnEks5u8TMAgaJpZM4SJcwD>
.
|
@filips123 I've set up a new Team for translaters and done a round of invites (actually two). Sadly "outside collaborators" cannot be added to teams, but I think I managed to configure the Org to not give broad permissions. The standard "Read" permission actually allowed for modifying org repos which is a bit crap.... but think I've ironed stuff out! |
I set the default branch to The v3 demo was set up quite a while ago with monitoring and so far no big issues has been coming in. So I'm letting things simmer for a few more days, and then on the new year:
Then make the "official announcement" on https://community.os-js.org/ which will be linked here when its out. This is the list of features / packages that has not yet been converted into v3:
(*) I'll roll out some application settings ASAP, so most of the things in that list will be taken care of. A big thanks to all of the people that reported bugs, feature requests and translations! ❤️ Since this is no longer "upcoming", I'm going to close this issue. |
When you update branches, you should also cleanup and delete some of them because there are some that weren't updated over 2 years. |
Yup. Will look into that. Might also rebase some of the v2 stuff because
cloning the entire repo is a bit slow.
…On Sun, Dec 30, 2018, 18:12 Filip Š ***@***.*** wrote:
When you update branches, you should also cleanup and delete some of them
because there are some that weren't updated over 2 years.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#671 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJ3DFqkReNc_ia4J_MQdl_xPndmQedzks5u-PQHgaJpZM4SJcwD>
.
|
@filips123 I've transferred all of the old branches to the following repos: Also removed all of the old branches from this repo. So now there's only I'm going to replace the |
See the manual for lots of more information.
This is the master issue for OS.js 🎉 v3 🎉 , which is a work-in-progress rewrite. This issue will be updated at random.
Community announcement
My main goal of this release is to significantly reduce complexity, completely modularize, decrease build times, easier customization and application development.
Please note that the code is not public at the moment. See the TODO list below. All repositories will be transferred to the os-js Org and automatically made public once Stage I is done
Changes
All rewritten. Now uses modern ES features wherever possible (even on server-side).
Visually, not much has changed, but behind the scenes it's all brand new.
No backward compability is planned. Also semantic versioning will now take place as of this release.
Simplified
Overall design is now much simpler, much easier to customize and many orders of magnitude faster to build (and faster overall performance). The design now also embraces functional programming.
I'll write more about this later.
Modularized
Instead of having a monolithic repository, all the different components are now separated into their own (npm) pacakges. The base repository now only consists of a basic scaffold project that allows you to pick-and-choose (and replace) all modules.
@osjs/osjs
- The base project@osjs/cli
- The CLI utilities and build scripts etc@osjs/common
- Things used throughout everything@osjs/client
- The Client core@osjs/server
- The Server core@osjs/gui
- GUI Components@osjs/dialogs
- Dialogs@osjs/panels
- Panels@osjs/standard-theme
- The default GUI themeAll packages comes in the form of
@scope/osjs-{name}-{type}
.Compability
Bumped Node to version 8.
Service Providers
All features are now bootstrapped via Service Providers. You can use a number of default provided ones or write your own using a simple interface.
Event Bus-es
Bus-es for everyone! Pretty much all components of OS.js now uses a standard event interface.
Applications and UI
By default OS.js now uses Hyperapp (see #628).
The overall design of the applications now have changed. You no longer need to extend base classes; just one function to bootstrap your application.
GUI Components are also provided via Hyperapp.
Your application state no longer lives "inside" the Application Class instance, so your data won't leak.
Please note that Hyperapp is completely optional... you can still use your own favorite framework. And I would love it if people ported the components
Server
You can now much easier tap into the server.
PHP Support has been dropped. WebSocket is now default.
Configuration
Now done with regular JavaScript instead of
.json
files.CLI / Building
Still very similar, but the tasks have changed.
The
watch
task now watches everything so you don't need to run separate processes for everything.NODE_ENV
is now also respected, which in previous versions was controlled with command arguments.More about this later.
Misc
WindowManager
has been removed as the service providers now covers all the functionality.Scheme
has been completely abandoned.The text was updated successfully, but these errors were encountered: