I have a web site for showing different reports like these examples
http://contoso.com/report.aspx?id=1
http://contoso.com/report.aspx?id=2
In each report page I want to embed a Sharepoint control that will allow me to:
Start a discussion for each report
Add Comment/response to the existing thread for the report
Rate the report on a scale of 1 to 5 and provide comments
As is implicit, a Sharepoint forum will be the backing store and can be accessed directly as well.
Is this possible in Sharepoint 2007? How difficult if so?
How can I implement such a scenario?
To best answer your question, I need to know what a report actually is. I assume a report is a Word document.
You probably need to do some custom coding for this to work well. One approach might be:
Create a Document Library.
Create a Discussion Forum.
Add a column to the Document library for storing the rating on a scale of 1-5.
Create a WebPart that displays the document and it's metadata including your score.
Have an event receiver or Workflow on the Document Library that creates a new top level thread each time a report it added with the title of the document as the subject.
Have code in your webpart that queries for all items in the discussion forum where the thread starting title is the name of the document, and display the thread.
It would probably require some C# and WebPart development skills to accomplish this task. Not something a beginner could do.
Related
I'm using the Rally SDK 2 to manipulate user stories from Javascript in a "Custom HTML" application.
I can query a story and retrieve its attributes.
I can update some of the attributes, like the Name of the Iteration for instance.
How can I add a successor to my story?
If I understand well, I should edit the "/HierarchicalRequirement/.../Successors" of my story, but I don't understand how to do that.
Would someone have an example, please?
Unfortunately, I don't have an exact example you can use, but the successors (or predecessors) are 'collections'. As such, you need to 'add' to the collection. There is an explanation of some of this here: https://docs.ca.com/ca-agile-central/saas/apps/2.1/doc/#!/guide/collections_in_v2
Built into the model for the artefact are routines to handle all the details. If you want more details, then you can download the sdk-debug.js file from the Rally server. To get to it, open up the developer tools in your browser and have a look where a custom app would get the sdk.js file from. The debug variant is formatted for humans to read and a very useful source of how to do things at the low levels. The definition of Rally.data.wsapi.ModelFactory has some good tips.
One of the recommendations I make to people starting out writing custom apps, is to use the developer tools in the browser to watch the network traffic that the Rally UI makes - and then work backwards to code.
In a xpages application I need to mount a label with a certain layout, analogous to the layout of a ticket. Searching, I have verified that the most used practice is to use openoffice to design the odt model and in java to use bilbiotec to JOD Reports. Do you advise to follow this line yourself, or do you have any suggestions?
I would concur with Marcus. The way forward is PDF output. There are a couple of ways to do this, depending on your constraints.
When user must design every aspect of the ticket using openoffice is a suitable approach, however you need a headless openoffice install for the rendering
If everything can be code, then PDFBox is a good way to go. Wrap your code into a managed bean
The middle path would be XSL:FO and Apache FOP. It allows alteration of the layout by providing a different style sheet. I wrote an article series outlining that approach.
Let us know what works for you!
There is also the POI4XPages plugin. You could design your form with Word and then use placeholders to populate the document and output as a pdf.
See https://poi4xpages.openntf.org/main.nsf/project.xsp?r=project/POI%204%20XPages/releases/E80C4FC9FB07E1E4852580E3006E02C7
Download the latest version (1.4) at http://p2.openntf.org/repository.nsf/home.xsp/poi4xpages/snapshots
Howard
I was able to solve my problem, because I discovered that here in the company there is the abcpdf software. Through a web service that uses the APis of this software, I pass the html code of the ticket and the web service returns the pdf document in an array of bytes. I created a managed javabean to consume the web service and display the pdf in the browser.
Thanks to all who have contributed in some way with suggestions.
I just got a new task; I need to:
"Team have an Excel spreadsheet which contains basic data about subjects in a trial. A custom VB script in the Excel sheet allows them to generate BO reports. At a very high level, they are able to select a particular cell in the Pivot table and then execute a VB script via a custom button in the Excel sheet. The script generates an XML file containing metadata about those subjects and some additional parameters such as report title and saves the XML file to a watched directory. An external process picks it up and generates a fully-formatted BO report with complete details about the identified subjects from the drug safety database, and sends it to the user as a PDF in a new browser window.
So really this is not about doing data analysis within Spotfire (including R), but it is more to do with building an interface from Spotfire to the BO reporting environment. I believe this can be done with the Spotfire SDK, which uses IronPython as its scripting language, but I cannnot say for certain because I have very little experience in that area."
Is there any chance for some high level suggestion of what approach do I have to take in order to attain the functionality requested ?
I also dont have any exp with Spotfire's tibco technical support. Do you guys think I can ask any such questions to them ?
Regards,
Jacek
I am looking for a plugin that will allow me to edit searched jira issues in a grid - much like excel. Couldn't really find one in the jira market place section or on google. So question 1 - is there a plugin (free or paid) that I can use to do this.
I also looked at what it would take to create a custom plugin to support this functionality. I looked at Jira Search Request View. I was wondering if we can use this with a view that allows editing of the individual fields displayed in the search grid. I will have to figure out the details on how inline editing would work and how stuff would get saved, but at a high level does this sound plausible?
Note - This approach may sound naive, but I have no background in doing development on Jira API
With JExcel you can edit JIRA issues just like in Excel.
https://marketplace.atlassian.com/plugins/com.moresimp.jexcel
I hope it helped,
Regards,
Janos
I want to know if there is a better way of extracting info from a web page than parsing the HTML for what i'm searching. ie: Extracting movie rating from 'imdb.com'
I'm currently using the IndyHttp components to get the page and i'm using strUtils to parse the text but the content is limited.
I found plain simple regex-es to be highly intuitive and simple when dealing with good web-sites, and IMDB is a good web site.
For example the movie rating on the IMDB's movie HTML page is in a <DIV> with class="star-box-giga-star". That's VERY easy to extract using a regular expression. The following regular expression will extract the movie rating from the raw HTML into capture group 1:
star-box-giga-star[^>]*>([^<]*)<
It's not pretty, but it does the job. The regex looks for the "star-box-giga-star" class id, then it looks for the > that terminates the DIV, and then captures everything until the following <. To create a new regex like this you should use a web browser that allows inspecting elements (for example Crome or Opera). With Chrome you can simply look at the web-page, right-click on the element you want to capture and do Inspect element, then look around for easily identifiable elements that can be used to create a good regex. In this case the "star-box-giga-star" class is obviously easily identifiable! You'll usually have no problem finding such identifiable elements on good web sites because good web sites use CSS and CSS requires ID's or class'es to be able to style the elements properly.
Processing RSS feed is more comfortable.
As of the time of posting, the only RSS feeds available on the site are:
Born on this Date
Died on this Date
Daily Poll
Yet, you may make a call for adding a new one by getting in touch with the help desk.
Resources on RSS feed processing:
Relevant post here on SO.
Super Object
Wikipedia.
When scraping websites, you cannot rely on the availability of the information. IMDB may detect your scraping and attempt to block you, or they may frequently change the format to make it more difficult.
Therefore, you should always try to use a supported API Or RSS feed, or at least get permission from the web site to aggregate their data, and ensure that you're abiding by their terms. Often, you will have to pay for this type of access. Scraping a website without permission may open you up to liability on a couple legal fronts (Denial of Service and Intellectual Property).
Here's IMDB's statement:
You may not use data mining, robots, screen scraping, or similar
online data gathering and extraction tools on our website.
To answer your question, the better way is to use the method provided by the website. For non-commercial use, and if you abide by their terms, you can download the IMDB database directly and use the data from there instead of scraping their site. Simply update your database frequently, and it's a better solution than scraping the site. You could even wrap your own web API around it. Ratings are available as a standalone table.
Use HTML Tidy to convert any HTML to valid XML and then use an XML parser, maybe using XPATH or developing your own code (which is what I do).
All the answers posted cover well your generic question. I usually follow an strategy similar to the one detailed by Cosmin. I use wininet and regex for most of my web extraction needs.
But let me add my two cents at the specific subquestion on extracting imdb qualification. IMDBAPI.COM provides a query interface returning json code, which is very handy for this type of searches.
So a very simple command line program for getting a imdb rating would be...
program imdbrating;
{$apptype console}
uses htmlutils;
function ExtractJsonParm(parm,h:string):string;
var r:integer;
begin
r:=pos('"'+Parm+'":',h);
if r<>0 then
result:=copy(h,r+length(Parm)+4,pos(',',copy(h,r+length(Parm)+4,length(h)))-2)
else
result:='N/A';
end;
var h:string;
begin
h:=HttpGet('http://www.imdbapi.com/?t=' + UrlEncode(ParamStr(1)));
writeln(ExtractJsonParm('Rating',h));
end.
If the page you are crawling is valid XML, i use SimpleXML to extract infos. Works pretty well.
Resource:
Download link.