koding / koding Goto Github PK
View Code? Open in Web Editor NEWThe Simplest Way to Manage Your Entire Dev Infrastructure!
Home Page: https://www.koding.com
License: GNU Affero General Public License v3.0
The Simplest Way to Manage Your Entire Dev Infrastructure!
Home Page: https://www.koding.com
License: GNU Affero General Public License v3.0
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
To be able to list users, one should use fetchMembers
function
selector = {} # dont use any selector, it is legacy.
options = {} # options is for skip, limit parameters
_globals.currentGroup.fetchMembers(selector, options, console.log.bind(console))
To be able to list roles of a user one should use following API:
accountIds = ["5550f42290fc1e173c70961b"]
_globals.currentGroup.fetchUserRoles(accountIds, console.log.bind(console))
response will one object per user-role
{
as: "member"
targetId: "5550f42290fc1e173c70961b"
}
To be able to list admins of a group
selector = {} # dont use any selector, it is legacy.
options = {} # options is for skip, limit parameters
_globals.currentGroup.fetchAdmins(selector, options, console.log.bind(console))
To be able to list moderators of a group
selector = {} # dont use any selector, it is legacy.
options = {} # options is for skip, limit parameters
_globals.currentGroup.fetchModerators(selector, options, console.log.bind(console))
Blocking user will only be shown to koding group for now
Search will search on email
and nickname
of the users.
_kd.singletons.search.searchAccounts("cs", {restrictSearchableAttributes:["nick", "email"]}).then(console.log.bind(console))
by default email is not searchable for normal users, to be able to search with email, one should pass restrictSearchableAttributes:["nick", "email"]
as option to account search.
We can update user's role in a specific group with following api:
targetId : "5550f42290fc1e173c70961b"
newRoles: ["admin", "moderator"]
_globals.currentGroup.changeMemberRoles(targetId,newRoles, console.log.bind(console))
beware that newRoles will override existing ones.
applicable roles are following ones : ['admin','moderator','member','guest']
to be able to kick a member from a group, one should call following api
targeAccounttId : "5550f42290fc1e173c70961b"
_kd.singletons.groupsController.getCurrentGroup().kickMember(targeAccounttId, callback)
'Cannot read property 'Remove' of null' error is displayed on the console when you try to remove a credential. It doesn't matter if it's bootstrapped or not.
error log - http://take.ms/DD5HQ - http://take.ms/mgojK
Hello,
Following is the builder's requirements to work. I tried my best to describe each step in words, so that we can discuss and come up with better ideas, and mostly because if we know the requirements of it right now we can move to a new one with confidence and ditch bant
once and for all.
/cc @koding/frontend
sprites
array in their bant.json
. (the default is lib/sprites
for each app right now.)// bant.json
{
"sprites": [
"./lib/sprites"
]
}
sprites
array consists of 2 folders:
lib/sprites/1x
lib/sprites/2x
1x
folder, there should be another file present in the 2x
folder with the same name:# if these two doesn't present at the same time, builder should throw.
lib/sprites/1x/foo.png
lib/sprites/2x/foo.png
sprites
array in bant.json
1x
css spritesheet and saves it under opts.spriteTmpCssOutdir
2x
css spritesheet and saves it under opts.spriteTmpCssOutdir
1x
sprite image and saves it under opts.spriteImgOutdir
2x
sprite image and saves it under opts.spriteImgOutdir
styles
array in their bant.json
// bant.json
{
"styles": [
"./lib/styl/*.styl",
"./lib/components/**/styl/*.styl"
],
}
styles
array can be a glob
relative to the root folder of app folder.styles
array corresponds to a file or list of files that can be compiled via stylus
compiler.STYLES_COMMONS_GLOB
('app/styl/**/*.styl'
) (for each app :/)styles
array of bant.json
css
file for each app under opts.stylesOutdir/<app-name>.css
watch
mode for styles:
STYLES_COMMONS_GLOB
styles
array of bant.json
of each app.sprites
compilation:
opts.spriteTmpCssOutdir
main
key which corresponds to a file that is relative to the app root folder.// bant.json
{
"main": "lib/index.coffee"
}
main
key will be used as an entry file for bant
compilation.require
paths.# We have 2 files
# client/activity/lib/foo.coffee (A) file under 'activity' app.
# client/ide/lib/bar.coffee (B) file under 'ide' app.
# (B) can require (A) by using absolute paths, and vica-versa.
# client/ide/lib/bar.coffee
# no need to do require '../../../activity/lib/foo'
foo = require 'activity/foo'
lib
for requiring single modules under <app-name>/lib
folder.# no need to write down `require 'activity/lib/foo'`
foo = require 'activity/foo'
.coffee
extension.# no need to require like: require './foo.coffee'
foo = require './foo'
opts.minifyJs
globals.modules
globals.REMOTE_API
globals.acePath
globals.aceConfig
kd.js
modules. (wtf?)opts.extractJsSourcemaps
option is true
.watch
mode is enabled:
opts.assetsDir
to opts.assetsOutdir
with the same folder structure.opts.thirdpartyDir
to opts.thirdpartyOutdir
with the same folder structure.Here are my suggestions:
bant
, use webpack
webpack
is widely supported by the developers from big companies: facebook
, twitter
, etc.webpack
supports awesome debugging tools out of box, hot-reloading
webpack
is the defacto builder in React community.images
, style
files, etc.If we switch to webpack
requiring a style file for a component will become like this:
require './fooview.styl'
webpack
to create chunks, and only serve the required js
and css
files on initial load, and the loading the rest can be deferred.Any feedback/help will make our lives as frontend engineers way much easier, cause waiting for 284712894 seconds for a simple js file change shouldn't be a normal practice. π»
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Koding should be easy to run and customize via docker containers
Why
Docker container is the easiest solution to run a program. docker-compose will make it easy to setup and run koding for both development and production purposes
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Bundle Koding with GitLab so we can reach more users easily
Why we do?
GitLab and Koding have same target audience which providing both services together makes sense.
Acceptance Criteria
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hola! @gokmen has created a ZenHub account for the koding organization. ZenHub is the only project management tool integrated natively in GitHub β created specifically for fast-moving, software-driven teams.
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, youβll get access to ZenHubβs complete feature-set immediately.
ZenHub adds a series of enhancements directly inside the GitHub UI:
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @gokmen.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
'Cannot read property 'on' of null' error is displayed on the console every time that the member tries to reinitialize.
error log - http://take.ms/rSFg7
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
To improve the mounting UX via a simple kd mount
style UX
Why
The settings for mounting can be a bit non-obvious to the end user, Devrim wanted to simplify that UX
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
@fatih please check 3rd box VM reconfiguration - let's keep that in mind to get it done once we have time.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Relations
#8161 needs to be done.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
To be able to make Koding source and development flow public to gain more developer resource and gain developer love from the community
Why
Our main focus group are developers and we need more developer resources which can be achieved effectively once we open source Koding.
Acceptance Criteria
Title says it all. What do you think? cc/ @koding/frontend @cihangir
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
To add kdopen functionality to KD
Why
Reducing the separate tooling, and increasing utility of KD
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
savings from the cost of
β’ test environments (wercker, travis, test machines)
β’ development environment
β’ production environment
β’ database
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
To update stack editor design and flows based on the new prototypes.
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Add support for azure and azurerm terraform providers to terraformer and kloud.
Why
Required support for Azure Cloud in stack templates.
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Users need to provide credentials in order to be able to build their stacks. But a team admin may not be willing to share his own credentials with the whole team. This feature will allow users to build a given stack with their own credentials.
Acceptance Criteria
Historical Data (Dynamic Google Spreadsheet Image, updated daily)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Having Guidelines, Documents and Settings for open development model
Why
Making system ready for community contributions
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Since we are in active development these days, we have lots of legacy code moving around in our codebase making it harder to make further refactors since, even though we have a really small set of features, those features are in various places.
I am creating this issue to identify what parts are really being used in which app. Hopefully we can come up with the parts we are not using anymore and remove the remaining parts asap.
Here is the current folder structure
client
βββ about
βββ account
βββ ace
βββ activity
βββ admin
βββ app
βββ assets
βββ builder
βββ dashboard
βββ features
βββ feeder
βββ finder
βββ home
βββ ide
βββ kites
βββ landing
βββ legal
βββ members
βββ mocks
βββ pricing
βββ stack-editor
βββ stacks
βββ teams
βββ test
βββ testrunner
βββ viewer
Actively used apps are right now:
client
βββ app
βββ dashboard
βββ finder
βββ home
βββ ide
βββ landing
βββ stack-editor
βββ stacks (parts of it are being used in stack-editor)
βββ testrunner
I think we can reduce down all of our apps into these ones, and move all the required logic from other apps under these ones. (move stack related ones into stack-editor, etc..)
I can take the job of creating necessary PRs to make those changes once we identified the files/modules required.
/cc @koding/frontend
Goals
Why
Our target audience has changed and code-base have some issues for supporting both solo and teams products together.
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
Why
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Goals
To enable ssh features of KD for managed machines
Why
SSH isn't supported on managed machines, but many commands in kd use ssh (kd mount, kd cp, etc). Users need ssh on managed machines.
Acceptance Criteria
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The feature works like the following:
There will be following tasks and related PR links with them.
There are 2 endpoints: (This part requires attention from @cihangir and @canthefason)
/-/video-chat/token
is for generating an access token for other TokBox operations./-/video-chat/session
is for session generation process from TokBox for them to keep track of the process.VideoChatModel
by passing the necessary SocialChannel
instance.VideoChatModel
will kick off OpenTokService
.VideoChatModel
will create a new VideoChatView
instance and attaches to itself for lazy-access.OpenTokService
acts a wrapper class around opentok.js
.VideoChatModel
connects to a opentok session.VideoChatModel
shows video chat via VideoChatView
VideoChatModel
switchs to given user's video.VideoChatModel
provides an api for mute/unmute yourself.VideoChatModel
provides an api for mute/unmute others for admins.VideoChatModel
controls the amount of people can join to video session? (This may be extracted into its own class)A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.