Sharepoint site for external customers - sharepoint-2010

I have an SP site where employees submit their reports. A report is submitted with Company information attached as metadata in a sharepoint library.
For a company there is a customer attached with a separate login in our AD and the customers all belongs to a separate user group.
I want to create a separate site where their customers can login and read their reports
My first problem is to share a library between sites so that the customers can access the reports submitted in our internal site.
Second problem is to create a connection between the company and the customer login so i can filter the reports so that the customer only sees their report.
How would you go about doing this?

From what I understand of this scenario, I would handle report sharing with customers as a content deployment exercise. Not sure whether you want one site for all customers from all companies to log in or if you'd want to create a site for each company. Custom development of either event receivers or workflow on the internal list would handle 'publication' (i.e. copying the document to the client-accessible list) of a report once uploaded (and potentially - approved).
If there is one common site, you would need to factor in item level permission setting based on the company metadata. If you have a site for each company, security should be a whole lot easier.

If your goal is only to share reports then going with separate site for customer login or with site per customer is IMHO huge overkill and almost useless.
Solution to your problem is quite easy: One site with separate Document Library for each customer. There is not much difference between 1 customer = 1 site and 1 customer = 1 library except for simple scenario I found that maintaining multiple libraries on single site is much more easier then maintaining multiple sites with basically one library on it. However if you plan to have more interaction and 'sharing' with customers (now or in future) then separate site for each customer is a option.
Steps:
Define custom Document Content Type on site level holding all metadata your report needs
Create Document Library for each customer with this new content type
Define permissions on Document Library level - each customer can access only one designated library (need to have read rights on site)
Your employees need to upload report to customer library so that customer can see it. If permissions are set correctly then customer can see only designated library and you can easily set administrators (can see all) and superusers (can see more then one library/customer).
Having all reports in single site will simplify developing process for additional business logic by using custom workflows and/or receivers. Also searching and aggregation for administrator or super user is much easier.

Related

Create login for multiple users with customized content with TYPO3 11.5.21

First of all, I must confess that I'm very, very new in TYPO3, therefore, my questions might be a bit confusing or not properly understandable. So, please be patient with me.
As already stated in the title, I want to create a login page for multiple users and every user should see a customized content, for example some pdf files or slides.
I was able to create a login page and it's working but I have no clue what's happening afterwards. I'm searching for a solution since days but the TYPO3 documentation is super shitty, especially for beginners like me.
My idea was to work with a MySQL database (I don't even know if this is possible). After the login all data about the customer are read from the database and defined files (some pdf and slides) should be shown.
Is this possible like that? Or how is the usual way to do that?
I'm happy for every hint!
Thanks a lot in advance :-)
cheers,
expikx
I tried to find a solution online but without success
you need a custom extension which will render the files based on the logged in user. By using the extension "extension builder" you can create a first version of your extension very quickly which can be used as base.
If you are german speaking, take a look at the videos of Stefan, e.g. https://www.youtube.com/watch?v=dhRBvTZoPQM& which document how to create an extension as well
If you use the Login of TYPO3 you can also use the access-management from TYPO3 for FrontEnd content:
for each erecord (page, content, news, ...) you can decide which group(!) of users can see it.
Each record in TYPO3 normaly contains a field (in the access tab) to select which groups can see this record.
It's up to you to define the groups each user belongs to.
And each group can access some content. TYPO3 merges it and even can give access to one record to multiple groups.
Regarding files like PDFs: if you do not need absolute access restrictions it would be possible to only list links to the files for the apropriate groups. (other users, even not logged in users could access the files if they know the URL)
e.g.:
You have users in three groups like owner of product A, product B, product C.
Of course there are owners of multiple Products.
For each group you can provide content like manuals, updates or lists of service points.
First you can give access to the pages about each product only to member of the matching group. All the content of that pages are visible only after login and if the user belongs to that group.
But you also can have mixed pages:
Maybe news where all updates are shown. Although each news record has (at least) one group to be shown to.
There could be one page with the news plugin to show all news. After login only those records are shown which belong to the groups of the user, other records are hidden. (not logged in users can see only records not restricted to any group)
If you want a individuality of content by person you need a group for each user.
If you want the user to select by himself what his interests are you need a FE plugin where he can select his memberships of individual groups.

Google API to track document view and edits - google sheets

I maintain ~450 unique Google Sheets for all of the teachers in our school district (updated nightly using a python script). For auditing and reporting purposes I would like to track opens and edits of these Sheets.
I've found the Changes resource that should be able to help me identify edits, but that's only getting me halfway there. Is there any Drive API Resource out there that will identify page views (count, most recent) by user?
Track Google Drive document changes using the Reports API from the Admin SDK.
What you are trying to do can be achieved using the Reports API.You can have a list of all the file IDs and use the activities.list method and set the userKey parameter to "all" so that you get the activities from any user, or set a specific email address or user ID to get the information from a specific user only.
The applicationName parameter needs to be set to "drive" so that it recognizes that it is the Google Drives report the one you are accessing, and then for the filters parameter you can use for example "doc_id==12345" (replace 12345 with the file ID) to get the activity report from a specific document.
An example:
Note: Be aware that this can only pull information from the last 6 months.

How to configure OCI catalog for ME51N?

We have a requirement to connect to an external catalog from ME51N tcode (Purchase Requisition). This integration must be done entirely from ECC side and shouldn't be linked with SRM.
I have tried configuring the OCI on two different places. Let me explain the results and doubts for each. I don't need the two solutions, just one that gives me what I require.
Path: SPRO-> IMG-> Materials Management-> Purchasing-> Environment Data-> Web Services: ID and Description
Here I was able to configure the connection to the Catalog, and after defining it as default I get the button on ME51N's toolbar to get to the catalog. I'm able to select the data and return it to the purchase requisition. However some data that the client is sending is not the same as we have configured in our materials management, e.g. if they send a material group that we don't have the received material group is deleted and I can't see what the catalog returned for that field.
I've searched for a way to map these fields, and possibly insert some Z code to map those values and fill them like we need to, but I havent found anything that is usefull, most documentation is made for SRM, not for ECC.
So, how can I map/configure these values returned from the catalog? I'm currently looking at BADI ME_PROCESS_REQ_CUST to makes changes based on what the Catalog returned, but this is too late, as not configured values have already been deleted by then.
Since I couldn't configure this, I tried another way, using this other path, that does give me the option of mapping the fields from the catalog to SAP's standard fields, and even the possibility to set exits to add personal logic.
Path: SPRO-> IMG-> Plant Maintenance and Customer Service-> Maintenance and Service Processing-> Maintenance and Service Orders-> Interface for Procurement Using Catalogs (OCI)-> Define Catalogs.
However I haven't been able to display a link to these catalogs in ME51N.
Can these Catalogs be linked to ME51N?
Thanks
Well, I have no catalog by my hands now, but the procedure for connecting catalog to ERP via OCI seems to be the following:
You should make proper customization in the path
SPRO-> IMG-> Plant Maintenance and Customer Service-> Maintenance and Service Processing-> Maintenance and Service Orders-> Interface for Procurement Using External Catalogs
To adjust automatic Purchase Requisition creation you should set item category to N (non-stock item).
And also you should activate method COMPONENT_VIA_CATALOG_GET in BAdI PLM_CATALOG_IF.
See additional details here.

GET method with API's

I am not familiar with API's so I was hoping someone could help me with a question I have. My company uses Greenhouse as their hiring software for people to apply and we are redoing our career site to be more custom. They want a page where we can display each department with a text icon that has the number of positions open in that department that updates itself and when you go into that page it wants to display the positions for that department a long with the location they are in.
In the Greenhouse.io API section they say
"This is useful for reporting purposes, or for customers who have
built their own tools that they want to use with Greenhouse. GET
methods include Offices, Departments, Candidates, Activity Feed,
Applications, Scorecards, Scheduled Interviews, Offers, Jobs, Stages,
Job Post, Rejection Reasons, Email Templates, Users, and Sources."
Does this GET method mean I can pull those pieces from the API and display them where ever we need to in the site and it will update automatically? I'm primarily a web designer so this info is a bit new to me.
The GET refers in fact to the HTTP methods. Generally, you call the api with GET to retrieve data.
If you want to insert a new data with api, you will use POST for instance.
You can see those http methods here:
http://www.restapitutorial.com/lessons/httpmethods.html

Archive subsites from sites in SharePoint 2010

I have a requirement to find a way to archive subsites from a site.
When I say 'Archiving' I mean moving a subsite from one site to another so the end users can still access the subsites and check the history etc.
The main site is a Training site and the subsites are training courses, when these courses have ran there is no need for them to be sat under the training department site and I can envision it becoming confusing with too many of these subsites.
I know I can move them using structure and content in site admin but don't really want end users to be doing that after each course has ran ( we have had over 500 this year!)
Has anyone else faced a similar issue or have any advice to how they would go about it?
Many thanks
Is there a need to retain the subsites? If so, instead of moving the site, perhaps changing the way your users access the sites would be an easier way. You could set up a list with the current classes (assuming you don't have one already) and include a field in that list that links to the course's subsite. Create a view that shows only the current courses so the end users never see the other subsites.
If you don't need to keep the subsites, you should look into some kind of workflow that can kick off when a class expires that deltes the subsite. I'm pretty sure you can't create a workflow with Nintex or SharePoint Designer to move a site to another location, so you may need to code something with C#.