Giter Club home page Giter Club logo

sn-admin'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-admin's People

Contributors

gitter-badger avatar herflis avatar huszerlbence avatar kavics avatar tusmester avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sn-admin's Issues

Extract packages made with PowerShell

Currently if a package was compressed using PowerShell (Compress-Archive), SnAdmin fails to extract it, possibly because of the Ionic.zip library. We should use the built-in .Net API for extracting packages.

Package installation telemetry

It would be cool if we added a telemetry layer to SnAdmin that would allow us to track what kind of packages are installed (similar to the install/download counter on nuget.org).

  • When SnAdmin is executed, try to send some basic info to a central url about the package.
  • Strictly anonymous, we do not want to know actually who installed what, we just want to track package usage.
  • Store only:
    • package id
    • package version
    • install date
    • result (success/error)
  • Only track 'official' sensenet ECM packages, not 3rd party ones.
  • Clearly communicate this.
  • Must be unobtrusive and robust - do not interfere with package execution in any way (e.g. send info in the background, not slowing down the execution process).

Questions

  • opt in or opt out?

Cleanup package folder

The algorithm of executing packages allows you to provide a package name without the (zip) extension. This is useful, because it lets us have packages as folders, without a zip file - take Admin\tools for example, a container that contains built-in tool folders, not zip files.

The problem with the current behavior is that if there is a zip file and a folder with the same name, SnAdmin uses the folder, even if the zip package is newer. This leads to a confusing install process (for example when we update a nuget package to a newer version that contains a new zip package).

Solution: if you execute the package with a name (without extension) and there is a zip file there, we should always execute the zip file. If a folder is there from a previous execution, than delete it before the operation.

Incorrect encoding when a parameter ends with a backslash

The following SnAdmin parameter list results in an incorrectly interpreted param list:

SnAdmin.exe export source:/Root/IMS target:c:\temp\

Note the backslash at the end of the target path. The problem is that SnAdmin puts a quote around the parameter value and passes it over to the SnAdminRuntime tool as a command line argument. It will become this:

target:"c:\temp\"

The result is that SnAdminRuntime receives an incorrect argument (and all arguments after the wrong one will be missing) - so this problem needs to be fixed here, in SnAdmin.

Current workaround is to remove the backslash - which is OK in case of a path, but there can be a different type of parameter where that character is mandatory.

Note: using a manual quote around the target parameter does not work either, so that cannot be a workaround.

BUG: Manifest not found.

This command: .\SnAdmin.exe sn-services-patch-7.0.0-7.1.3 creates an empty directory: sn-services-patch-7.0.0-7.1 and applies it as package directory. It causes an InvalidPackageException: "Manifest not found."

Package sandbox directory

Currently the sandbox folder (called run) is created next to the package that is executed. If packages are stored in multiple folders all over in the file system (instead of a single place), these run folders are created in many different places.

Possible solutions

  1. configure a fixed sandbox folder path
  2. always create the sandbox folder in the parent of SnAdmin.exe instead of the parent of the current package
  3. always copy the package into the Admin folder and execute it from there

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.