how to create a news aggregator? - asp.net

Planning to start a small aggregator for a personal project, so far I have a few inquiries on gathering information for the site. I'm still clueless on where to begin. what kind of infrastructure do i need? where do i get the feeds and can I sort them out depending on the theme of the info requested?
any feedback is appreciated. thanks

This is a pretty open-ended question, but here's where I'd start:
Technology for handling feeds -- WCF Syndication. Also, read and understand the RSS and Atom specs.
Infrastructure -- depends on your situation. Is it just for you, or a few friends or are you talking about building the next Google Reader? If it's smaller-scale, then look at a hosting solutions like GoDaddy, DiscountASP.NET, etc. (There's hundreds of them.) If you're talking a larger-scale type of solution, look at hosting it in the cloud - Rackspace, Amazon, Windows Azure.
Where do you get feeds? Pretty much anywhere. Personally, if this site is for other users, let the users enter them in (why be in the business of trying to guess what feeds people would want to subscribe to?).
I think you need to provide more requirements in order to get more solid feedback. Start with looking at WCF Syndication and get a feel for that library in terms of how to programmatically handle RSS and ATOM feeds (both subscribing and publishing). Once you understand that, I think you'll have a better handle on your next steps.
Hope this helps.

Related

How to use issue trackers for internal systems?

I'm working for a company where I develop systems purely for internal use. There are only a few developers but we use redmine for issue tracking & feature requests. However, the only people with access to the issue tracker are team leaders, everyone else is meant to feed their suggestions through their team leader.
The idea is that this will reduce developer workload and give management more control over the features being developed. The reality is that we get emails sent directly to us from people experiencing small bugs, or feature requests.
Is this a sane way to manage user feedback or a known bad practice? I've not seen any articles which discuss managing internal issue tracking, so thought I'd ask you.
You can allow your users to access Redmine and create them a special role where they can only create new issues with a new status then the project managers or the team leaders can priorize the issues and assign them to the right people.
It will imply that your users have to be trained to use the tool to create efficient reports and search before creating a new one. But if it's an internal project it will be "easier" because you can train everybody.
It sounds sane to me. If you have end-users giving you feedback then that's a good thing. I've no experience with redmine but if there's a learning-curve associated with it then end-users may be reluctant to bother giving feedback at all. Also, you may end up with defect targets such as 'it has to triaged with X days, and fixed by Y days'. By having such an informal feedback process you avoid this. Also, your team could take a somewhat Agile approach and write bugs/feature requests onto scorecards and stick them on a wall so everybody can see them, including managers - who get to see how end-users are really using your product, and choose to fix/implement them as your team sees fit, with the priority that you choose yourselves.
Of course, your source control system will have the history of all fixes and new features!

Issue tracker for web agency workflow

We're looking into implementing an issue tracker for our web agency. The problem is that most issue trackers seem to revolve around the assumption that an issue is a bug, whereas in a web agency environment, a lot of the issues (request, or whatever you want to call them) are about changes and additions to a current web site.
It also seems to me that a lot of issue trackers assume that you're working on one main software project, and uses that project as the focus of the tracker. A good issue tracker for a web agency would be one which puts each separate client and their issues at the heart of the system, making it easy for them to track and report issues.
Does anyone know of a good issue tracker for the web agency workflow? What are other people using?
In my experience, issue trackers are so closely coupled to the workflow of the organisation that what works in one place may be a complete misfit in another. That said, could basecamp work for you?
We are using Gemini very flexible with the ability to have workflow at the project level.
But where Gemini really helps us is the cross project views. You can view your work across all projects with really good fitering.
Have you had a look at fixx at all? Obviously, being the developer of fixx, I will want to plug it but I know from first-hand experience that a lot of our customers are web agencies who work in a service-oriented environment and need to track more than just "software development" projects.
With fixx, you can define custom issue types (for example "change request" or "Copy changes") and track work against that type.
Unfortunately, fixx still does suffer from the "project-centric" view but a lot of our customers work around this by defining a project per client/website. So, if you were doing web/maintenance on stackoverflow.com, you would have a project called "stackoverflow.com maintenance" and would assign all your users from that company to that specific project. From there, using notifications and filters, it would be very easy for clients to keep track of progress on their specific issues.
FogBugz – it's simple by default, but extensible; it's got an integrated wiki, charts, tags, and you can even tie it to your source-control system (and they also offer their own integrated source control system, Kiln, which is pretty amazing with FogBugz).
Are you using other applications to manage the rest of your business' operations?
I ask because WORKetc has great issue tracking software, and this software is combined with other aspects of business management which can simplify the management process. So not only could you manage all support inquiries and responses in one place, but also your projects, finances, and contacts. Most importantly, it would allow you to use one central contact base for your entire company, while allowing you to reference that contact information (as well as lead information) while working on support inquiries, projects, invoices, etc.
WORKetc's support system works around email integration and simple ticket system (as well as prioritizing) and directly integrates with projects, contacts, and other aspects of the system so that you can save time while responding and managing tickets.
I think especially for the use case of a web-agency, where it's not really about bugs, but mostly (visual) feedback and all of it happens on the web, a visual feedback tool might be the thing you're looking for. Most of these tools will create a screenshot of the webpage and include the given feedback on it.
Some of them also have some kind of dashboard where you can discuss further, or have integrations to other tools like Basecamp (and some them do both).
Here's an article from smashing magazine, which describes a lot of them, e.g.: TrackDuck, BugMuncher. Another great tool the article doesn't mention, maybe because the article is a bit dated, is Usersnap – this one even includes browser extensions.

Framework /starting point for social networking site in .NET?

I did do some googling and searching on this site but did not find exactly what I was looking for.
I'm hoping that someone can point me in the right direction here. I'm an ASP.NET/SQL Server developer and would like to develop a (intially) basic social networking site (gasp). Before I start from scratch with a blank solution in ASP.NET, I'm wondering if there are any frameworks out there ASP.NET specific that would serve as a good starting point. I'm already thinking of using the Google Maps jquery control for my Google Maps integration, as well as the 'sharethis' control for my social networking website sharing integration. Captcha for human authentication... But other than that I'm not sure what I can leverage... Nothing on Google jumped out at me on my search terms.
I'm also wondering if anyone else has done something similar and could share their post mortem/war stories with me.
I'm also open to learning a new platform/language if it would mean saving time - my experience is mostly in ASP.NET, so that is what I plan on using if it makes the most sense. My initial requirements are basic and realistic - profile setup (images, information, etc.), 'group' creation, Google Map integration, calendar controls shared by groups, SMS support, discussion forums among groups, searching for groups, OpenID integration most likely, etc. I am not going to try to build the entire site and then release it, but take baby steps and release pieces of functionality at a time.
Any advice is greatly appreciated for a broad question such as this. Thanks again.
I've found DotNetOpenAuth which seems to be a nice API for handling OpenID for ASP.NET web forms. They also have an ASP.NET MVC version
I also found MS Web Platform. This looks like some good stuff. Anyone ever use it and think it would do well for this sort of app?
I found a library for DotNetNuke called ActiveSocial. It's priced right ($500) and has more than the features I need but lacks some. I wonder if anyone here has ever used AS before. Is DNN easy to extend so I can add Google Maps functionality and such? It doesn't say anywhere on snowcovered (the vendor that sells AS) if AS comes with the source. If it didn't, then I might be screwed because I wouldn't be able to integrate the functionality I want.
I went through this exercise about 15 months ago when I built a SNS for a client. Hoping to find some basic framework for Friends, Chat, Profiles etc I was pretty disappointed.
That said, in retrospect I wish rather than building one that we would have purchased a solution like Community Server. As with most projects I looked at the problem scope with beer, no strike that, ambitious goggles on and the level of work to cover all the edge cases was more than I imagined.
Tread careful my friend, tread careful.
I think this is what you're looking for. Kigg is an open source ASP.NET MVC app that would be a good starting point for what you want. Here is the url: http://www.codeplex.com/Kigg
You can also find a site that is using this here: http://dotnetshoutout.com/
At the very least you will learn the ASP.NET MVC framework which is fantastic.
While not exactly intended to be used for social networking sites, both of these frameworks can help you so you don't have to start from scratch:
DotNetNuke: http://www.dotnetnuke.com/
Umbraco: http://umbraco.org/
Also, for an out of the box solution (no code involved) you could always try this: http://www.ning.com/
Good luck!

Playing video on a dynamic website

Hi I am currently designing a website for a client - the site will be written in asp.net with a cms built in. My client has come back saying he wants to play mp4s on the site - plus being able to embed some other videos from youtube, vimeo etc.... in his blog - I have managed to convice my client that playing .flv would be better for obvious reasons (which he has agreed is OK). but when I went back to my coder, he said that because of the fact its a dynamic site that it will take 2 days to get this working (in terms of creating the mechanics to allow my client to up load his movies etc.....)
Is this correct - as my client is under the impression that it should be a simple thing to do - while my coder tells me that its not that simple.
I am in the middle of all of this - can you help please!!!!
At the end of the day only the coder you are using knows exactly how much effort is required here. You have to trust them. This almost certainly not trivial. Make sure you and the coder understand exactly what's being asked for here and that neither of you are assuming anything about how the client expects it to work.
Is your client a programmer? Non-programmers should never dictate how long a programming task should take.
If you're cowboy coding without testing "today" would probably suffice, but any sane and professional development shop would never let this happen.
Now let's clarify what your client really told you to do:
Your dev seems to be assuming that he has to support adding/uploading videos from your CMS.
If your dev is going to use a 3rd party API like YouTube, 2 sounds reasonable. If you're going to serve it on your own site, it'd take at least a week's worth of programming to make sure your site can take such a heavy load of streaming data -- it's stupid, not to mention highly irresponsible, to assume it could be worked out in a day.
Now, if you're client is only really talking about embedding videos in blog entries or articles, that's a very trivial task: YouTube, Vimeo and other video sharing sites already supply the HTML embed code that's needed to display a video on a page. In fact that's a zero effort task assuming that your blog entry editor properly parses the embed code, or has an Edit HTML feature.
So, which one is which?
This might be a good occasion to use the <video> tags. It might simplify things at the cost of only supporting users with recent browsers.
Two days is a quite optimistic estimate for all that you've mentioned. Maybe for embedding YouTube videos only, but for upload/storage/streaming of videos on the local server it's a different thing entirely.
But if you don't understand programming yourself, then you have to trust the expert that you've hired to do the job for you, and you have to tell the client that is how long it will take. The fact is that these things aren't trivial to write, there's the front end website management interface that needs creating, and the back end server software that manages what to do with the uploaded file. Never mind integration and making sure it's easy for the client to run a workflow of upload file, incorporate that video inside some content in the CMS, and so on.
I just recently did this, you need to get videoLan http://www.videolan.org/
This streams mostly anything, after you set up a streaming site it's easy!

Which search technology to use with ASP.NET?

What's your preferred method of providing a search facility on a website? Currently I prefer to use Lucene.net over Indexing Service / SQL Server full-text search (as there's nothing to set up server-side), but what other ways are being used out there?
We used both Lucene.net, Indexing Service and SQL Server full-text. For a project with large and heavy DB search functionality SQL search has an upper hand in terms of performance/resource hit. Otherwise Lucene is much better in all aspects.
Take a look at Solr. It uses Lucene for text indexing, but it is a full blown http server so you can post documents over http and do search using urls. The best part is that it gives you faceted searching out of the box which will require a lot of work if you do it yourself.
you could use google, it's not going to be the fastest indexer but it does provide great results when you have no budget.
dtSearch is one we've often used, but I'm not really that big a fan of it.
A lot of people are using Google's custom search these days; even a couple of banks that I know of use it for their intranet.
If you need to index all the pages of your site (not just the ones Google indexes) or if you want to create a search for your intranet web sites, the Google Mini is pretty sweet. It will cost you some money, but it is really easy to have it up and running within just a couple of hours. Depending on how many pages you need to index it can be expensive though.
I'm using dtSearch and I (kind of) like it. The API isn't the greatest in the world for .NET but it can get the job done and it's pretty fast. And it's cheap, so your boss will like it (~$1,000 US).
The results leave something to be desired as it doesn't do any kind of semantic relevance rankings or anything fancy. It does a better job than anything you can get out of MS SQL server though.
It has a web spider that makes it easy to do quick search apps on a website. If you need to you can use the API to create hooks into your database and to provide item level security - but you have to do the work yourself. Their forum leaves something to be desired as well but maybe people will start posting dtSearch stuff here. :)
Has anyone tried Microsoft search server express?
http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx
I haven't tried it yet, but it could potentially be powerful.
From the site it looks primarily geared towards sharepoint users but given its sdk I don't see why you couldn't use it for a regular old site search
I also recommend SOLR. It's easy to set up, maintain, and configure. I've found it to be stable and easy to scale. There's a c# package for interfacing with solr.

Resources