Code Monkey home page Code Monkey logo

Comments (10)

tomdam avatar tomdam commented on August 25, 2024 1

Great work! This is a really useful feature to have.
I'm testing it and will merge your PR afterwards.

from spcoder.

jimmywim avatar jimmywim commented on August 25, 2024 1

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.

tomdam avatar tomdam commented on August 25, 2024 1

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.

tomdam avatar tomdam commented on August 25, 2024 1

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.

jimmywim avatar jimmywim commented on August 25, 2024

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.

image

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 ExplorerView 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). Nevermind, figure it out by doing a full Solution build which includes the SharePoint.Client assembly properly into the output dir

from spcoder.

tomdam avatar tomdam commented on August 25, 2024

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.

jimmywim avatar jimmywim commented on August 25, 2024

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.

tomdam avatar tomdam commented on August 25, 2024

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.

jimmywim avatar jimmywim commented on August 25, 2024

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.

tomdam avatar tomdam commented on August 25, 2024

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 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.