Microsoft Graph set unified group default notebook - microsoft-graph-api

I have a scenario where I'm trying to provision a group and pre-populate the one note with template pages.
Doing posts to https://graph.microsoft.com/v1.0/groups/<groupid>/onenote/notebooks and subsequent endpoints I'm able to create everything.
However whenever the user goes to outlook, and clicks on the OneNotes button, it creates a brand new notebook which is empty.
The question is: how can I set my notebook to be the default of the group?
Thanks!

After some more investigation the default notebook for the group is created automatically after the group creation. There doesn't seem to be a way to change the default notebook at the moment.
The creation of that notebook can take some time (undocumented at the moment) which can range from a couple of milliseconds to minutes so your code should plan for that as well.
Finally, after being created, the notebook can take additional time to appear in the UI (like when adding a tab in Microsoft Teams)

Related

Permissions issues with publishing Google Sheets worksheets on Google Sites

I have a Google spreadsheet comprising of several worksheets and I am trying to publish the worksheets individually on separate webpages, preferably using embed. This is to provide access to users within a Google Workspace domain. The first published worksheet works fine and is duly visible to users allowed to view the Google Sites webpage. Subsequent worksheets are also published successfully but the previously published worksheets are no longer accessible. I get the following message:
"*You need permission to access this published document.
You are signed in as #.org.uk, but you don't have permission to access this published document. You may need to sign in as a different user. "
The above email address is an editor of the spreadsheet as well as being able to edit/view the Google Sites. I have tried everything by only using Incognito windows only, logging out of all accounts, checked settings, etc: I am always unable to publish more than one worksheet from the same spreadsheet at a time.
What am I doing wrong???
PS-1:
Following iansedan suggestion I have anonymised and simplified the spreadsheet. There are 2 tabs I want to publish to web: Group T and Group S.
I publish Group T to the web: works as expected in the browser (Chrome).
I publish Group S to the web and view it in another tab in the browser (Chrome)
It duly shows the published version of Group S but when I click on the other tab (to view the Group T which was OK before) I get the following message:
"You need permission to access this published document.
You are signed in as [my workspace email address], but you don't have permission to access this published document. You may need to sign in as a different user."
This is the link to the spreadsheet. I'm afraid I don't know how to share this better, the only way I could find is if you try to access the spreadsheet I will get a notification and will add your email address so you can view/edit it.
PS-2 Additional info
The respective links for the published are as follows:
Group T This one comes up with the "You need permission to access this published document." message
Group S This one shows the published worksheet correctly (as it was the last published!).
It looks like a caching mechanism somewhere is causing the issue but I have no idea where and how to prevent it! I've cleared the cache in the browser...
To publish individual sheets of a spreadsheet, use the Published Content and Settings button instead of the Publish button.
Uncheck the All Document checkbox and select the Group T and Group S sheets. After that click Escape and Start Publishing.
I had the same problem.
What youre doing is pausing one publication to start another one. Then, the first one is canceled.
Basically, there are two fields on the web publishing tab: one above another.
On the upper one, you chosse wich part of your sheet you will publish. That is, here if Jonh need to see "X", you select "X" and take note of the link to send to John.
On the lower one, you confirm all parts of the sheet that are being published at til that time. In other words, there will be more than one part in this fild. That is, if you havd alredy done the process to John (X), Anna (Y) and Floyd (Z), you will visualize X, Y and Z
Got it?

Sharing a created Google form with linked sheet for others to use

I have created several systems with Google Forms (and linked sheets) to log services provided and timekeeping. I would like to share these systems with other people to use as a template for their own data. Is there a way to easily do this keeping my formula's intact?
Successfully: I have found a way to share the form only as a template by copying the URL into an emailed hyperlink changing the ending from edit to copy.
Cumbersome but ok Migrant Service Log: This method does not seem to work entirely for spreadsheets. It still asks me to give them access to the original document. I can set access on the original to view only and limit the time to one day.
Unsuccessful Clock In/Out: The new "copy" of the spreadsheet is not automatically linked with new "copy" of the Forms so it does not update when a new response is added. I must link it in form. This becomes more of an issue with my sheets that have formulas based on these responses. It is now necessary for each new user to manually link and rename the sheets to make them function correctly.
Clock In/Out System (attendance purposes)
Clock In Form
Clock Out Form
MSA Sheet
Attendance Office Sheet
Migrant Service Log (team communication purposes)
Migrant Service Log Form
Migrant Service Log Sheet
I would like for them to all be user-friendly and easily shared while keeping everything confidential to the user.
if you want to keep your formulas as a secret you can set up the 2nd spreadsheet and use IMPORTRANGE formula to get data over and then just simply link the 2nd spreadsheet somewhere on the end of the form.

Office 365 Groups - Create Default OneNote Document

We're creating Office 365 Groups using a PowerShell script, and this process in place already and we're happy with it.
I was wondering however, if it was possible to trigger the creation of the default OneNote document via the Graph API at all? It appears as though when a Group is created, it's not until someone manually visits the Document library and clicks the OneNote document, is it actually created (on the fly). I have arrived at this conclusion because if we run a Get-UnifiedGroup on the group itself (storing the result in $Group), the following property is empty: $Group.SharePointNotebookUrl
The reason we'd like to do this, is so we can create Office 365 Groups and populate the default OneNote notebook with some information, without having to have a user with permission to the group, manually trigger the creation of it. I'm able to create additional notebooks in the Group, but these are not 'presented' in the same way to end users that the default one is (with it's own dedicated tabs/menu links).
This isn't possible from Microsoft Graph today. As you noted, the default OneNote for a Group is created the first time you attempt to access it. It's also a little different in that it gets places in a SiteAssetts library which also doesn't exist when the group is created.
I recommend visiting the UserVoice and adding this as a suggestion.
Office 365 default Notebook is a file in SiteAssets library in the associated SharePoint site.
If Notebook is not created yet, you can create by enabling SharePoint Feature SiteNotebook with Id f151bb39-7c3b-414f-bb36-6bf18872052f
With PnP PowerShell:
Enable-PnPFeature -Identity f151bb39-7c3b-414f-bb36-6bf18872052f -Scope Web
This will create Notebook in SiteAssets library and adds PropertyBag to SPWeb with name "SiteNotebookGuid".

SharePoint search not finding someone and job title displaying incorrectly for one person

I am the SharePoint administrator for a company. Usually I can find how to fix problems rather easily but this time I am stumped. I have two problems. One of them is there is a person who has a MySite but when you use the people search she does not show up. The second problem is there is another whose job does not show correctly and when you search by job it doesn't show correctly. Its missing one word in the job title. To update profiles we use a data base that stores there information and sends it to a intermediate database when a specific job is run. We use AD groups to determine who gets a MySite.

MOSS 2007: How to programmatically store web part properties for a user?

I have a web part which shows data in one of 3 different formats. The format is selected by clicking one of 3 buttons in the web part. This works fine.
A request has come through to store the last selected state so that the user does not always have to click their favourite view.
It seemed logical to define a Property and define Personalizable(PersonalizationScope.User) but this does not seem to work for most users as they only have Read rights for the page.
What is the best way forward here? Is Sharepoint the right place to store such info or should I be using my own storage?
Thanks
Using your own storage is an option but this means its some more development work for you. How about this option.
Modify your WebPart and add the option to the Web Part property.
Create a new permission level and add the following permission
Update Personal Web Parts - Update
Web Parts to display personalized
information.
This will make sure that users with read only access can only update webparts.
Step 2 will allow them to odify all webparts. You can modify each webpart and remove the following option for webparts which you dont want you users to edit.
Allow Editing in Personal View [Advanced]
This way you can lock all webparts except the one you want.

Resources