Git Product home page Git Product logo

spmeta2-vsixextensions's Introduction

SPMeta2 Extensions for Visual Studio

SPMeta2 Extensions for Visual Studio adds a bunch of useful snippets, project and item templates to Visual Studio. The purpose is to make your daily M2/SharePoint related work in Visual Studio much easier, productive and also bring consistency across your projects, people and teams.

Build status

Branch Status
dev Build status
beta Build status
master Build status

Downloads

The story and experience

Whenever you build a proof-of-concept, corporate intranet or six-figures project on top of SharePoint platform, SPMeta2/M2 is all you need to deploy SharePoint artefacts in most enjoyable, smooth, testable and repeatable way. SPMeta2 is a .NET library that offers a hassle-free fluent API supporting not only SharePoint 2010, 2013 and O365, but also CSOM and SSOM. It is the first building block to well-structured and consistent projects.

We learnt a lot while providing SPMeta2 support to independent consultants, small start-ups, ISVs, SharePoint consultancy companies as well as large enterprises with six-figures projects across the globe. Consequently, a well-structured approach to create, develop, maintain and support SPMeta2 project was born. Later on, it was encapsulated into Visual Studio snippets and project templates, so that other people can have the same positive and enjoyable experience not only starting projects from scratch, but also supporting and enhancing already existing ones. This is our second building block to well-structured and consistent projects.

In nutshell, there are a few project template to get your SharePoint project started in a few clicks from the avialable templates:

Then we ask if you want to onclude provision and desired SharePoint runtime, or go plain POCO deciding on provision later:

And then done. Up and running:

Curious? Get started with the documentation and let us know what you think.

Documentation

There are a bunch of snippets, a few project templates and debugger visualizer that significantly enhance development routines. We bet you would rethink and love again your 'new' SharePoint life with SPMeta2 and its 'way' of doing things.

Please consider the following links to get familiar with the general concepts, project templates, snippets and creating new projects.

Contribution

We keen to hear back from the community improving both SPMeta2 and SPMeta2 Extensions for Visual Studio. Whenever you like or dislike something, give us a shot so that we can fix that:

spmeta2-vsixextensions's People

Contributors

subpointsupport avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

avishnyakov

spmeta2-vsixextensions's Issues

Add M2XXX snippets

All definitions should have a proper VS snippet starting from M2. Just type "m2" in the Visual Studio and have fun.


  • [DONE] Webs
  • [DONE] Fields
  • [DONE] Content types
  • [DONE] Lists
  • [DONE] List Views
  • [DONE] User custom action
  • [DONE] Site features
  • [DONE] Web features
  • [DONE] Sandbox solutions
  • [DONE] Security groups
  • [DONE] Security roles
  • [DONE] Wiki pages
  • [DONE] Publishing pages
  • [DONE] Web part pages
  • [DONE] Quick navigation
  • [DONE] Top navigation
  • [DONE] Taxonomy store
  • [DONE] Tax term set
  • [DONE] Tax term
  • [DONE] Tax group
  • [DONE] Web navigation settings

Add 'Intranet Empty Model' project

'Intranet Model' project is a good starting point, but it takes time for experienced people to delete / comment / remove stuff. There should be an 'Intranet Empty Model' project template as well.

Add Pester regression on VSIX package

Due to Output/Snippets folders aren't being copied with new Cakebuild #40, there should be additional Pester check on resulting VSIX package. The following check is to be implemented and integrated with CI:

  • Unpack VSIX package
  • Check Output / Resources / Snippets folders presence
  • Check Output -> Item Templates has 3 zip files
  • Check Output -> ProjectTemplates has 2 zip files
  • Check Snippets -> has *.snippet files
  • Check Resources -> has 2 files

That would be great start to gate VSIX related regression.

Add pre-created and commented out definitions

All pre-created definition class should have commented out instances, so that it would be easy to get started - fields, content types, and so on.

Foundation

  • Fields - Text
  • Fields - Note
  • Fields - Date
  • Fields - Date and time
  • Fields - Number
  • Fields - Number with precision
  • Fields - Boolean
  • Fields - BusinessData
  • Fields - Calculated
  • Fields - Currency
  • Fields - Choice
  • Fields - Multi-choice (various options)
  • Fields - URL
  • Fields - User
  • Fields - User / group
  • Content types - item content type
  • Content types - document content type
  • Content types - inheritance
  • Webs - blank site
  • Webs - team site
  • Webs - web hierarhy
  • Site features - TBD
  • Web features - MDS, Collaboration lists
  • Lists - Lists, Docs, Events, Tasks, Tasks with hierarhy
  • List Views - Default, CALM query, Calendar view, Gantt, Quick Edit views
  • Top navigation - One and two levels
  • Quick navigation - One and two levels
  • Web parts - XML based provision, typed CEWP, XsltLIstViewWebPart - on various pages
  • Welcome pages - custom welcome pages for web and list
  • Web part pages - set of custom pages
  • Wiki pages - set of custom pages
  • Security groups - set of security groups
  • Permission levels - set of permission levels
  • Sandbox solution provision - sample
  • Master page settings - define OOTb pages plus setting up the page
  • Master pages - define OOTB pages, plus a few customizations
  • User custom action - jQuery at the site level (plus module file provision via style lib)

Standard

  • Fields - HTML field
  • Fields - Image field
  • Fields - Link field
  • Fields - Media field
  • Fields - Summary field
  • Fields - Taxonomy field
  • Content types - publishing page
  • Content types - document set
  • Webs - publishing site
  • Webs - document center
  • Site features - Publishing infrastructure, Managemd Metadata navigation
  • Web features - Publishing infrastructure
  • Taxonomy store - default site store
  • Taxonomy term group - several groups
  • Taxonomy term set - several temsets
  • Taxonomy term - several terms
  • Publishing pages - Articles and other OOTB pages

Add project item templates for the most useful artifacts

There should be project item templates for the most useful artifacts.

  • [DONE] Fields
  • [DONE] Content types
  • Webs
  • Lists
  • List views
  • Top navigation
  • Quick navigation
  • Web part pages
  • Wiki pages
  • Publishing pages
  • Welcome pages
  • Security groups
  • Permission levels
  • Web parts
  • Sandbox solutions
  • User custom actions
  • Tax store
  • Tax groups
  • Tax term sets
  • Tax terms

Adding T4/PS templates for JS vars generation

It would be nice to generate JS vars including fieds ids, names; content type ids, names and the rest so that JS based development would be much easier. It would allow to avoid "copy-paste" id ids/internal names from c# code and model definition to JS files.

TS

  • c# Namespace -> module
  • c# Class -> class

JS

  • check the TS output, replicate the same
  • check the TS output, replicate the same

Enhance M2 models debugger visualizer

Debugger visualizer should have the following layout:

  • A tree view on the left
  • A property grid on the right

Once a tree node is selected, the full set of the properties should be shown in the property grid on the left.

Add pre-created Implicit style library folder

Implicit style library folder should be pre-provisioned with the following items:

  • Prj prefix folder name

frameworks / libraries

  • jQuery
  • jQuery UI
  • Angular
  • Ember
  • KO
  • SPServicers
  • caml.js
  • Backbone
  • moment js
  • bootstrap

Visual Studio project and item templates

Moved from SubPointSolutions/spmeta2#163

M2 should have a better Visual Studio integration to reduce time waste on bootstrapping projects.

Must have features:

  • project templates
  • item templates

Would be nice to have features:

  • console trace integration ??
  • T4 templates ??
  • Adding T4/PS templates for JS vars generation ??
  • Adding SPMeta2 model debugger visualizer ??

Links:

Add typed web part snippets

As Add M2XXX snippets #8, there should be snippets for the typed web parts as well.


  • [TODO] ClientWebPartDefinition
  • [TODO] ContentEditorWebPartDefinition
  • [TODO] ListViewWebPartDefinition
  • [TODO] PageViewerWebPartDefinition
  • [TODO] ScriptEditorWebPartDefinition
  • [TODO] ClientWebPartDefinition
  • [TODO] SilverlightWebPartDefinition
  • [TODO] UserCodeWebPartDefinition.
  • [TODO] XsltListViewWebPartDefinition
  • [TODO] ClientWebPartDefinition
  • [TODO] ClientWebPartDefinition

  • [TODO] ContactFieldControlDefinition
  • [TODO] ContentByQueryWebPartDefinition
  • [TODO] ContentBySearchWebPartDefinition
  • [TODO] ProjectSummaryWebPartDefinition
  • [TODO] RefinementScriptWebPartDefinition
  • [TODO] ResultScriptWebPartDefinition
  • [TODO] SiteFeedWebPartDefinition
  • [TODO] SummaryLinkWebPartDefinition
    .

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.