We have several reports delivered via email in PDF and Excel formats. I am looking for ways to password protect these items, either natively via SSRS or using a process outside of SSRS.
If you cannot use the built-in authentication provided by reporting services, you have one other option. First things first though, you cannot use the "E-mail" based subscription and interfere that process to encrypt a pdf file. The only way to do this is to use the file share delivery method.
Deliver the report to a network folder and then use adobe's web service api to protect the pdf as outlined here: http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/sdkHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=sdkHelp&file=quickStarts_Encryption.8.3.html
Once you do that you would have to write an app that takes the pdf and attaches it to an e-mail. (this part isn't too difficult).
Related
In the Office.js docs one reads the following about the new ExecuteAsync() method/pattern:
"This also allows us to use the same APIs even outside of an Excel add-
in. Imagine, for example, that you wanted to call Excel APIs against an > Excel workbook stored in OneDrive, but you wanted to do so from a stand-> alone web application, rather than one running inside Office 2016 for
Windows or Office Online. This async model lends itself well to that
capability."
Nevertheless, I wasn't able to find any explanation on how to implement such functionality in a standalone web application. Does anyone know how to do that?
This is referring to the new Excel REST API. Please see the documentation here: http://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/excel
Excel is so far the only Office host to support REST APIs, with the exception of OneNote's REST APIs which are independent from the Office.js effort.
We have a number of customers that we have to send monthly invoices too. Right now, I'm managing a codebase that does SQL queries against our customer database and billing database and places that data into emails - and sends it.
I grow weary of maintaining this every time we want to include a new promotion or change our customer service phone numbers. So, I'm looking for a replacement to move more of this into the hands of those requesting the changes.
In my ideal world, I need :
A WYSIWYG (man, does anyone even say that anymore?) email editor that generates templates based upon the output from a Database Query.
The ability to drag and drop various fields from the database query into the email template.
Display of sample email results with the database query.
Web application, preferably not requiring IIS.
Involve as little code as possible for the end-user, but allow basic functionality (i.e. arrays/for loops)
Either comes with it's own email delivery engine, or writes output in a way that I can easily write a Python script to deliver the email.
Support for generic Database Connectors. (I need MSSQL and MySQL)
F/OSS
So ... can anyone suggest a project like this, or some tools that'd be useful for rolling my own?
(My current alternative idea is using something like ERB or Tenjin, having them write the code, but not having live-preview for the editor would suck...)
I think your looking for a reporting tool which is also capable of sending email. Sending a generared report in html or pdf shouldn't be to hard to do as well.
I've used JasperReports in the past for which I think it should fit your needs.
Another good solution is the pentaho reporting tool
You could easily write something on your own.. give them a basic edit control and allow them to use psuedo variables like {customername} {anothercustomerattribute} within the mail body.
On submit either send directly or save as template.
When the template is sent away the script automatically parses stuff like {customername} into the real customers name from the database.
Your own very very simple custom scriptlanguage :)
Everything else like loops and so on would be maintained on serverside. And if you want particular groups of customers to receive the letter, allow the enduser to select from selectboxes or whatever and do the rest on the serverside with pre-defined rules.
Does anyone know good ways/tools/approaches for using Crystal Reports with Salesforce.com?
I know that Crystal Reports for Salesforce exists but I'm wondering what other possibilities there are...
It looks like your data is tied up with salesforce.com if you can export data you could use crystal reports independent of salesforce.com.
Other links on exporting data:
http://sfdc.arrowpointe.com/2008/04/28/do-you-backup-your-salesforce-data/
http://ideas.salesforce.com/article/show/97976/Export_All_via_Data_Loader
http://ideas.salesforce.com/article/show/23579/Scheduled_Data_Export_to_backup_database
Our solution may not work for you, but we've decided to host our reports on an external reportserver which is written in c# and exposes a SOAP based web service because the Crystal Reports for Salesforce solution you mentioned didn't offer us the flexibility we needed.
The process is essentially:
Salesforce makes a soap based call to the report server
Report server collates data from Salesforce via the Salesforce Soap API
Report server renders the report and returns it to salesforce
To answer my own question, we eventually decided to set up a local read-only copy of the Salesforce database in MS Sql Server, and develop reports based on that. This allowed the report-writing people to use all the familiar SQL tools they know, without the restrictions on what-can-be-joined-to-what that the native Salesforce database has.
We're using a piece of software called DBAmp to do this - It makes Salesforce appear in SQL Server as a 'linked server', and provides stored procedures you can use to download entire Salesforce tables, or just download changes to a Salesforce table since the last time. This makes it very easy to set up a local copy of the data that gets updated every night.
I'm building a web application that will have access to PeopleSoft's database via jdbc.
Is it possible that I can use PeopleSoft's id/password for my custom application, so users accessing my website will not have to have another username/password?
Peoplesoft stores user details in the table PSOPRDEFN.
You will be able to verify the username against: PSOPRDEFN.OPRID.
The password field is: OPERPSWD.
Unfortunately the encryption function used for this field: hash() is available only from within peoplecode.
If you want to use a single sign on you should be able to do so by customizing the USERMAINT.gbl component perhaps in the saveprechange peoplecode, to save the password in a second field of your choice with an encryption algorithm that you can implement from JDBC as well.
If you want to reuse PeopleSoft security, you'd need to connect at a higher level than JDBC straight into the database. You could look at a component interface (codeable in Java) or send a SOAP message into PeopleSofts Integration Gateway - both methods would authenticate you against peopleSoft using its own security mechanisms.
The old way was to customize psuser.c to your needs and recompile as a new dll, used it your program, assuming you're on a Microsoft platform. As mentioned above, you could have a peoplesoft developer create a component interface ( or use the one that is delivered ). You can export wrapper Java or C/C++ code from a CI, a template. This code can then be used in an external program to call the CI. one way or the other, you have to interface with peopletools to call their decrypt for passwords.
Depending on how dynamic your business is, whether you add lots of employees each day, you could export psoprdefn using app messaging to another database. On the send, you could encrypt passwords however you like. But as you can surmise, this would not be real-time.
One thing I remember doing long ago was have a peoplesoft tech person develop a page the sole functionality of which was to call my java class and which obtained user/pswds as needed. Once I had them, I was good to go.
You can use the psjoa.jar , in that way you can signon via app.server using the same users and passwords in the psoprdefn table.
PeopleSoft has an LDAP integration ability but it has to be configured. If you are accessing via a Java wrapper around a component interface, a special account can be set up in PeopleSoft with access only to the underlying component, but the login/password would have to be passed into the component interface. This can be encrypted or sent over https.
PeopleSoft also has what it calls "row level" security - the ability to partition data sets so that for example your code could only access employee data within a specific business unit or accounting info for a particular line of business. This is all controlled within the PeopleSoft online security application.
Anyone doing any work using "offline" forms? We have an application that requires inputting data from outside our company. I was thinking about sending a form out via email, allowing the form to be filled out then sent back. Obviously a web application would be the best solution, but management doesn't seem ready to build the infrastructure and security to support that. I've read a little about PDF forms is that a good solution or are there other solutions?
Have you considered InfoPath? These can be created and distributed through email. And then the data can be collated automatically.
Also, consider using Google Spreadsheets with Google Forms. It's free and infrastructure is outsourced.
PDF forms can work as well.
Another possibility is to use Microsoft SharePoint. If your company uses Microsoft Office for the people filling the forms you referring to, you could deploy an Office based solution and gather information with Sharepoint Server.
Check this link out.