Grade Setup Wizard through API call - desire2learn

I'm pretty new to API and our implementation of Brightspace is in it's infancy. I'm wondering, can we configure the settings under the grade setup wizard through an API call? When I reference the API list, non of them seem to fully reference what that setup wizard task does, which is why I'm asking for clarification. Our goal is to setup/copy a course and have the setting from the setup wizard be apart of that automated course copy through the API call. Thank you!

The Brightspace application APIs let you create and manage grade objects, categories, and values, as entities. They also let you manage some of the same general gradebook setup or configuration that the grades setup wizard lets you specify (the grading system at play, how to treat null grade values, and the ID of the default grade scheme).
However, there are some settings exposed in the setup wizard that aren't directly accessible via the API (for example, some of the options for managing the view that students and gradebook managers have over the gradebook).

Related

How can i make my MVC application insider capable

I have a project and i want my ASP.Net to be able to have same capabilities like windows insider. For example i want to give some of the users the new features and functionality to test same like share point allows to deploy new feature to some of the users. Is there any platform available that i can use or i will have to modify my application to have this capability?
E.g. the Sharepoint today has this capability that we can select some users and then provide them access to have new feature and version or outlook allows you to see new features but user has capability to turn it of.
There is one strategy:
You can do something like request forwarding.
You can install another web application with new features.
Then when user comes to your site you can ask them whether they want to see old application / new application.
If they select new, then on server side, you can redirect user to new web setup.
Once you aware that most of the people are going to new web tier, you can then shutdown old servers.
Obviously there will be other factors, like
is this only UI level change or you have some data store and that is
also going to change.
If it requires change in underlying database, then how are you going
to make sure that new application gets data from old database
You will have to think through and decide strategy best applicable for your solution.
I know this does not provide direct solution to your question, but this should given enough information on your question so that you can get started with some approach.
One option is to use an Authorize Attribute on a new controller defined for the new feature and add users who you want to have access to a role.
For example you could put users A, B and C into the Role "CanUseNewFeature" and just put a conditional if on the view something like:
#if(User.IsInRole("CanUseNewFeature")
<a href="yourlink" /> Check out new feature! </a>
and the controller
[Authorise(Roles ="CanUseNewFeature")]
public class NewFeatureController : Controller

How to show for the user of my jhipster application only the entities that he had created?

I'm creating a jhipster application and I want to let my user access only to the entities that he created, for example in my case I just want to have for each user a special view of the entities product that he created and not for all the products created by other user.
Thank you in advance,
Waiting for your help ...
JHipster does not provide that type of filtering, you'd have to implement it yourself. Out of the box, the only thing you can do is play with the security roles, both in the front-end and the back-end (as pointed out by #gaƫl-marziou).
In the front, using authorities in the state declaration (entity.js file). In the back, using #Secured in the controllers (EntityResource.java).
In order to the type of filtering you need, you have to create new attributes in your entities to store the user that he/she created, and then create new methods in your repository to do proper queries.

MVC beginner - Advice on how to persist a user selection for use throughout the site

I have an application which is centered around data per 'team'. A user belongs to a team and if they log in they only see that team's data.
However, I now have super users who essentially belong to more than one team. These users should be able to log in to the system and then immediately choose which team they are interested in. From then on they will essentially view/create data against that selected team. They should also have the option to go and change what team they are viewing at any time.
I've established that the user would like to be able to have multiple tabs open and be viewing a different team in each tab.
I'm struggling to work out the best way to accomplish this with .NET MVC while keeping it as stateless and testable as possible.
I've been reading up on the different ways to persist data - session state and cookies seem to get a bad rep in MVC. TempData, ViewBag seem to focus on just persisting data for one request.
I wouldn't have thought that this is an uncommon requirement in an application - are there known patterns for dealing with this in MVC which I have missed?
So far I'm trying to create a partial view which I can show on each page to let the user see what team they are viewing the site as, and change it from there.
Any advice is appreciated!
If you want to let your superuser view multiple teams data then you'll want to pass the team information in on the request, on the query string or as something that looks like a restful url:
/blueteam/members
In fact it would be extra work to track this in a stateful manner as you'd have track user, team, and ui element when a superuser can view multiple team data at once.
I'd say passing the information in on every request is a pretty standard approach to your situation.
The tricky part of the stateless approach is decorating all your internal application links with the team information without too much extra work. Relative links can be your friends here. So a link to the bug page for a team might be to simply "bugs", picking up the team name higher in the uri path. If you are creating something that looks like a one page application it's easy enough to store the team info on the client.
If you don't want team members to see data for other team members, you can set up guard functions that check for team membership for certain classes of users before rendering a view.

How to use Business Calendars in IBM BPM 8.0.1.2

We are trying to setup a BPM Workflow involving human services(using IBM BPM 8.0.1.2).
We are able to create Routing Polices etc for each activity , but not able to figure out
how we can include personal calendars of each user during task assignment.
Usecase : we do not want to assign a task to a person who is on a vacation.
Any help is appreciated!
IBM BPM does not currently have a concept of a business calendar tied to a specific user. You can create a business calendar for calculation of due dates (e.g. this item is due in 3 business days) that can accommodate things like holidays for these calculations, but there is no built in mechanism to create a calendar and tie that to a specific user.
Now, it would be possible to create a set of services that would allow you to create per user calendars for your organization, but that feels like the wrong solution.
In general IBM BPM wants you to assign tasks to "Participant Groups" (in 8.5 this turns into "Teams") rather than to a specific user. This greatly increases your flexibility with respect to who can actually work the task over simply assigning a task to a specific person, as you can change Participant Group membership on your runtime server.
You need to know when a user is on vacation. Now this information can either come by creating custom calendar for each person but this does not look feasible good idea or Second source to get this info, can be Vacation Management System where use applies for vacation. If you do not have Vacation Management System in you organization, then this is even better - build a simple process for vacation approval and store the data for use from this process. If you have system then look for API to retrieve user's vacation details from that system.
Either way, you use this retrieved vacation info in team filter service to assign a task to only available users.

What are the permissions required in desire2learn (D2L) Valence PUT call for .../courses?

I continue to get a "HTTP/1.1 403 Forbidden" response from a PUT request to /d2l/api/lp/1.2/courses/7917 . This may be a permission problem with the user/role that I'm using, but I can't figure out what specific permissions may be required. Can anyone point me to a list or matrix of valence routes and required permissions? Or, answer for this specific one?
The same appid/userid/username works for the GETs associated with the same path.
confused...
cwt
The permissions associated with API calls should mirror the permissions you'd have to have if you were to perform the relevant function through the Learning Envrionment's web UI. You can think about this problem in two ways:
Frame the question in terms of a user role: identify the class of users you'd reserve this ability for in your existing configuration, and ensure that a user of that role can make the call through the API as you'd expect.
Frame the question in terms of an abstract single user: start with a role that has no privileges and add permissions until you arrive at only the ones required for the API call. This is not a trivial exercise, and the first way is far more useful in the long run.
In this particular case, because the API requires you provide a complete course offering set of properties when you want to update it, you have to have permission to alter all the properties in the set (under the Manage Courses tool). You also need to be able to see the course info in the first place, so you need to have Course Management Console > See Course Info as well.
You're probably safest to look at the permissions array in the Manage Courses and Course Management Console tools for the user roles that would do this thing in the web UI and make sure that the users employing your app also have a similar permissions array specified in those tools.

Resources