Giter Club home page Giter Club logo

sn-client-js's Introduction

Welcome to sensenet

sensenet is a content repository with API first approach packed with a full featured permission system, preview and collaboration tools.

Join the chat at https://gitter.im/SenseNet/sensenet

A basic setup of sensenet has three top-level parts:

  • A content repository that is the storage and service layer
  • An application that uses the content of the connected content repository through API calls
  • A sensenet admin surface (only in SNaaS) that helps you carry out common content management tasks

SNaaS architecture

Everything is content

Content is the basic block for storing information in sensenet. A content can be any kind of data, user, document, workspace, memo, task, and more. Using content items everywhere unlocks a great deal of exceptional features, making your experience as a user more seamless, and your job as a developer a lot easier.

Licensing

SNaaS (sensenet as a service)

In this model, sensenet content repositories live in our cloud infrastructure.

Advantages

  • no installation required (easy onboarding)
  • patches and upgrades are taken care of by us
  • no hosting related tasks
  • central admin surface
  • flexible pricing plans (based on # of contents, requests, and users)

on-prem

For the terms of on-prem licensing please contact our sales team.

Resources

Check out the links below to get further information:

Contributing

All kinds of contributions are welcome! We are happy if you have an idea, bugfix or feature request to share with others. Please check out our Contribution guide for details.

sn-client-js's People

Contributors

gallayl avatar greenkeeper[bot] avatar herflis avatar tusmester avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sn-client-js's Issues

JWT - Verify and update client API

Update the JWT Service based on the changes in the related issue: SenseNet/sensenet#145

  • JwtService.Logout() should fire a logout request to the backend
  • Remove the X-Access-Data from requests - breaking change
  • Re-validate JwtService based on the finialized implementation

We shoud wait until an API changes will be finialized, documented and a new version of sensenet Services will be released.

An in-range update of @types/node is breaking the build 🚨

Version 8.5.3 of @types/node was just published.

Branch Build failing 🚨
Dependency @types/node
Current Version 8.5.2
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Extend repository config

OData Options

  • Default fields to select (currently hardcoded to 'Id', 'Type')
  • Required fields to select (they should be added explicitly, e.g.: Id, Path, Type, Name)
  • Default metadata (currently hardcoded to metadata=no)
  • Default inlinecount
  • Default reference fields to select - TBD - can be related to SenseNet/sensenet#137
  • Default top (to eliminate queries with extreme large result)
  • Testing
  • Docs

An in-range update of nyc is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 11.6.0 of nyc was just published.

Branch Build failing 🚨
Dependency nyc
Current Version 11.5.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

nyc is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 4 commits.

  • dd372f5 chore(release): 11.6.0
  • c6b30ba feat: allow usage of ignoreClassMethods from istanbul (#785)
  • 2d51562 fix: update to yargs version that allows extending configs with no extension (#790)
  • b4032ce fix: removes unused split-lines dependency. (#787)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Token authentication

Implement token based authentication in client-js so that developers can use these actions in their apps.

  • Create a tutorial for sensenet.github.io
  • The original JWT documentation should link to this new tutorial

note: removed the todo app implementations so we can close this story in spite of a blocker. The todo app implementations can be found here: #21

An in-range update of mocha is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 5.0.2 of mocha was just published.

Branch Build failing 🚨
Dependency mocha
Current Version 5.0.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v5.0.2

5.0.2 / 2018-03-05

This release fixes a class of tests which report as false positives. Certain tests will now break, though they would have previously been reported as passing. Details below. Sorry for the inconvenience!

🐛 Fixes

  • #3226: Do not swallow errors that are thrown asynchronously from passing tests (@boneskull). Example:

    it('should actually fail, sorry!', function (done) {
      // passing assertion
      assert(true === true);
    

    // test complete & is marked as passing
    done();

    // ...but something evil lurks within
    setTimeout(() => {
    throw new Error('chaos!');
    }, 100);
    });

    Previously to this version, Mocha would have silently swallowed the chaos! exception, and you wouldn't know. Well, now you know. Mocha cannot recover from this gracefully, so it will exit with a nonzero code.

    Maintainers of external reporters: If a test of this class is encountered, the Runner instance will emit the end event twice; you may need to change your reporter to use runner.once('end') intead of runner.on('end').

  • #3093: Fix stack trace reformatting problem (@outsideris)

:nut_and_bolt Other

Commits

The new version differs by 13 commits.

  • f2ee53c Release v5.0.2
  • ff1bd9e update package-lock.json
  • 6a796cb prepare CHANGELOG for v5.0.2 [ci skip]
  • 0542c40 update README.md; closes #3191 [ci skip]
  • afcd08f add MAINTAINERS.md to .fossaignore [ci skip]
  • 3792bef add opencollective header image to assets/
  • 5078fc5 persist paths in stack trace which have cwd as infix
  • 2c720a3 do not eat exceptions thrown asynchronously from passed tests; closes #3226
  • 3537061 Update to correctly licensed browser-stdout version
  • ec8901a remove unused functionality in utils module
  • f71f347 rename wallaby.js -> .wallaby.js
  • c4ef568 fix PR url
  • 73d55ac fix typos in changelog [ci skip]

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Create Content Explorer gui mockup

We need a layout mockup for the new admin page GUI

Notes:

  • Content repository funcions
  • Content representations
  • UI testing the layout
  • Interviews with current users about the admin area
  • How to manage SN7 components
  • How to manage content types

An in-range update of tslint-consistent-codestyle is breaking the build 🚨

Version 1.10.0 of tslint-consistent-codestyle was just published.

Branch Build failing 🚨
Dependency tslint-consistent-codestyle
Current Version 1.9.3
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

tslint-consistent-codestyle is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of typedoc is breaking the build 🚨

Version 0.7.2 of typedoc just got published.

Branch Build failing 🚨
Dependency typedoc
Current Version 0.7.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As typedoc is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details

Release Notes Check for `symbol.declarations`

Fixed

  • Check for symbol.declarations before crashing
Commits

The new version differs by 7 commits.

  • 22be6b6 0.7.2
  • 5eb104b Tidy up symbol.declarations check
  • be929bb Check for symbol.declarations (#518)
  • 81779eb Check if the decorators are undefined in the export (#562)
  • 6edcbd5 Updated import export whitespace for tslint (#558)
  • 827effa fix(package): update typescript to version 2.3.4 (#519)
  • 47a8b3d fix(package): update typescript to version 2.3.3 (#512)

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Reference field common tasks

Tasks:

  • My nice silky Loading
    • The main control needs to know what to load
  • Mapping extension for the reference field
  • Search in references in client-js
  • Weave it through the redux layer

"Order by" type cannot be specified at field level

As a developer, I'd like to be able to specify whether my query should return with the result set in an ascending or a descending order.

Tasks

  • Extend the query builder API
  • Test and deploy (seek and destroy)

Acceptance crit

  • I can specify the ordering by asc or desc

Mapping between Content Types / Field Settings and custom UI Components

Mapping setup

  • ContentType to Component
  • FieldSetting to FieldComponent
  • ConentType/Field to FieldComponent
  • FieldSetting to ClientContentSetting
  • Inherited FieldSetting to ClientContentSetting

Get adapted Schema from ContentTypes to ClientControls

  • ContentTypeControl from Mapper
  • Original Schema (with FieldSettings)
  • FieldMappings (FieldSettings -> FieldControl -> adapted ClientSetting)

Scoped packages

We should change our naming conventions with our NPM packages and introduce package scoping for @sensenet specific packages (see e.g. @Material, @angular, @aurelia, @types, @ReactiveX)
As sn-client-js started to grow too fast it will be a good idea to divide it into multiple packages.

The new structure:

  • @sensenet/client-utils - Utility package (like sn-tools) for JavaScript / Typescript tools without any sensenet ECM dependency (Retrier, Disposable, etc...)
  • @sensenet/query - Type safe Content Query builder and related stuff
  • @sensenet/default-content-types - Default generated content types and schemas
  • @sensenet/client-core - Interfaces and abstracts (e.g. IAuthenticationService), related Model classes (e.g. ODataResponse), Repository configuration, Also should contain Mocks for Repository, AuthenticationService and HttpProvider
  • @sensenet/authentication-jwt - JWT authentication related stuff. Later we should create additional packages for another auth. providers, e.g. @sensenet/authentication-oauth-google
  • @sensenet/authentication-google - Google OAuth client-side implementation
  • @sensenet/repository-events - Observable client side events for sensenet ECM Repositories
  • @sensenet/control-mapper - Control mapping utility for dynamic form generation from schemas
  • @sensenet/controls-aurelia - Aurelia control package
  • @sensenet/cli - =sn-client-cli - Command line utility for fetching Content Types - We should talk about #70 before refactor
  • @sensenet/redux - =sn-redux - In progress, see SenseNet/sn-redux#70
  • @sensenet/controls-react - We should finish @sensenet/redux first

Unclear what collection.Remove does

If I call Remove on a SenseNet Collection, does it delete the content from the server or it only removes the content locally from the collection?

An in-range update of @types/node is breaking the build 🚨

Version 8.0.17 of @types/node just got published.

Branch Build failing 🚨
Dependency @types/node
Current Version 8.0.16
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As @types/node is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

SnClient initialization revamp

@gallayl commented on Mon Apr 10 2017

Problems:

  • Some config variables and methods (e.g. serviceToken, siteUrl) are stored globally, or statically on per-module-level
  • The current ODataApi depends on the Ajax implementation from RxJS
  • The current architecture doesn't allow a client to interact with multiple Sense/Net sites

Expected behavior:

  • Create a more generic, non-static Sense/Net Client Service architecture
  • Rewamp initialization / configuration logic.
    • Services should be configured on institation
  • Make the Http layer 'providable'
    • Allow to define global headers on service level ( #7 JWT authentication prerequisit)
    • Allow to use Promise beside RxJs's Observable
    • Allow to use a 'mock' HttpProvider (for testing purposes)

Linked issue: #7

Client side Query API

On client side, we have the fields and the means of querying. So instead of building query strings, we should have an Query API.

ToDo:

  • Example
  • Tasks

An in-range update of tslint-consistent-codestyle is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 1.12.0 of tslint-consistent-codestyle was just published.

Branch Build failing 🚨
Dependency tslint-consistent-codestyle
Current Version 1.11.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

tslint-consistent-codestyle is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v1.12.0

Features:

This package now provides all rules for the Wotan linter runtime as well.
Example .wotanrc.yaml:

extends:
  - tslint-consistent-codestyle # makes rules from the package available with the 'tcc/' prefix
rules: # now configure the rules you want to use, remember to use the 'tcc/' prefix
  tcc/no-collapsible-if: error
  tcc/no-unused:
    options: 'ignore-parameters'
Commits

The new version differs by 5 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Repository vs ContentTypes and Schemas

The problem:

At the moment the generated classes (ContentTypes, Schemas, etc...) are bundled together with sn-client-js and tightly coupled with the Repository object. In that way we can not extend or add content types from different packages (e.g. if we want install the types from the Services, Webpages and our custom solution), the only way is to overwrite the whole ContentTypes library inside sn-client-js

Suggestion

In the future we should distribute ContentTypes in a different NPM package (see #67, e.g. @sensenet/content-services), maybe alongside with backend dependency releases and we should allow to add Content Types and Schemas

import { servicesContentTypes, servicesSchemas } from '@sensenet/content-services';
import { customerContentTypes, customerSchemas } from '../customer-related-stuff';
import { MyCustomizedRepository } from '../'

const myCustomizedRepository = new MyCustomizedRepository({
             // options
             ContentTypes: [servicesContentTypes, customerContentTypes],
             Schemas: [servicesSchemas, customerSchemas]
});

TBD

  • Conflict between different packages and their content - Is it possible?

Repository - Batch operations - Event handling

Tasks

  • Use the extended response

At the moment we don't have enough information from bulk operations and therefore repository events
(e.g. Repository.Event.OnContentMoved vs Repository.Event.OnContentMoveFailed) can be unrealible.

Once the backend API will be extended with meaningful result, we should update the client API to improve realibility.
Related discussion issue: SenseNet/sensenet#147

Related methods:

  • DeleteBatch
  • MoveBatch
  • CopyBatch

Can't instantiate JwtService

Hi,

I'm trying to create a simple login code, but I have some trouble when I try to instantiate the JwtService. It gives me this error:
__WEBPACK_IMPORTED_MODULE_0_sn_client_js__.JwtService is not a constructor

I'm using webpack 3.8.1 and sn-client-js 2.5.0.
I've created a repo where I can reproduce the issue: link

Am I doing something wrong or is this a bug?

An in-range update of @types/node is breaking the build 🚨

☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

Version 9.4.7 of @types/node was just published.

Branch Build failing 🚨
Dependency @types/node
Current Version 9.4.6
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.