Comments (10)
Great work! This is a really useful feature to have.
I'm testing it and will merge your PR afterwards.
from spcoder.
Ah sweet, I found bugs on expanding folders once I implemented the tenant stuff and merged the content type stuff, forgot to test subwebs!
from spcoder.
That's fine. It was a great contribution from your side!
My next idea for CSOM connector is to create container nodes similar to ContentType container node that you have created, to show fields, flows, workflows (2010 & 2013), views, event receivers... for lists/libraries. Practically any "important" object that could then be added to context and viewed with describer/properties viewer/gridviewer...
After that, the same could be done with site/web properties.
from spcoder.
Hi, just wanted to let you know that I added a way to write to log window from other Modules(Connectors). You can call methods of SPCoderLogger.Logger object to do that. It implements ISPCoderLog interface so you can add error, info and warning entries.
from spcoder.
Just an update, I got this fixed. I have merged in other changes into the branch I'm working in that fixes both List & Library expansion, and shows the list of Content Types.
Having the Tenant node available as a target also opens up the possibility of your scripts doing stuff at the Tenant level, too (like my example of Workflow getter working against all site collections).
See PR: #3
(You'll need to demonstrate how to get Nevermind, figure it out by doing a full Solution build which includes the SharePoint.Client assembly properly into the output dirExplorerView
to be able to access SharePointClientModule
without needing to explicitly add it in code, which as you've said creates an unwanted dependency on that project DLL).
from spcoder.
PR is merged now. I've noticed that it wasn't possible to expand the subwebs after connecting to tenant, but I found a fix and commited it.
from spcoder.
One thing I've noticed about the context system - is there a way currently we can hydrate an object more fully when added to context? Currently, I've populated objects in the TreeView using the bare needed to get the Tree View to work (quickly, reducing ExecuteQueries when looping items when parent nodes are expanded), but that leaves it sparse when inspected in the properties viewer. Maybe BaseNode could do with a "EnsureAllProperties" method that's called on an object when added to context?
from spcoder.
My idea for that was to add a new menu item for the context items (below rename) that would get all properties from server. So, a user would drop an item to context and, if needed, call that action to ensure properties.
It can also be done after an object has been added to context, but we should test what would happen in situations when ExecuteQuery takes long time to finish...
Adding the "EnsureAllProperties" method to BaseNode should be the right way to do it... the rest would just be the decision on when to call it.
from spcoder.
True, that sounds a sensible way to do it. Maybe should have a dialog or some progress indicator when it is taking a while.
A final Q for now on this app - is there an easy way to write to the Log window from the other assembles? I noticed log4net is used (SPCoderLogging.Logger?) but that only writes to file. Just thinking of what the best pattern for writing traces in things like the Connector classes.
from spcoder.
Good question... currently there's no direct method that could be called to write to log window from other assemblies.
The way to implement that would be through a callback that could be registered in SPCoder.Core (since it is used by all the other projects). I'll put that task to my todo list.
from spcoder.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spcoder.