Would an XlsxFormatter be welcome in WebApiContrib?

80 views
Skip to first unread message

Jordan Gray

unread,
Jan 20, 2014, 5:10:11 PM1/20/14
to webapi...@googlegroups.com
In my day job, we're often asked to pull reports in Excel directly from various APIs that we provide. I thought it would be cool (and perhaps generally useful) to do that straight from a Web API call with minimal setup, so I decided to work on the idea at home.

So far, I have a fairly limited MediaTypeFormatter implementation that uses EPPlus to serialise an IEnumerable of a class to a formatted Excel spreadsheet. The options are fairly limited (e.g. only IEnumerable<class>) and I need to improve documentation and unit test coverage, but it's functional and under active development. Cell and header formatting can be specified on the formatter instance, and there are custom attributes to allow the generated file name and headers to use when serialising a particular class.

Is this something you might be interested in adding to WebApiContrib when it's more complete and better tested? I know the project isn't a dumping ground for every vaguely-interesting thing related to Web API, so I won't be devastated if you don't think it would fit or it's a little too niche! :)

If you're interested, here are links to the project website and the project itself.


(By the way—wow, fast work closing that issue! I think I blinked and it was resolved already?!)

ryan....@panesofglass.org

unread,
Jan 20, 2014, 11:57:32 PM1/20/14
to webapi...@googlegroups.com
I think this is a great project. Let Chris and I take a look and sort out whether it fits. I don’t see any immediate reason. We’ll need to work out the transfer, renaming, etc. if you want to do that.

Sent from Windows Mail

--
You received this message because you are subscribed to the Google Groups "WebApiContrib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webapicontri...@googlegroups.com.
To post to this group, send email to webapi...@googlegroups.com.
Visit this group at http://groups.google.com/group/webapicontrib.
For more options, visit https://groups.google.com/groups/opt_out.

Filip W

unread,
Jan 21, 2014, 2:56:01 AM1/21/14
to webapi...@googlegroups.com
this looks really interesting

Jordan Gray

unread,
Jan 21, 2014, 5:04:06 AM1/21/14
to webapi...@googlegroups.com
Thanks Ryan/Filip!

It's a little rough-and-ready at the moment and there are a few essential features that aren't quite there yet (e.g. lists of primitive types is a biggie), but I'm aiming to fill those gaps in the next couple of weeks.

What would transfer involve? Would I simply transfer ownership of the repository to WebApiContrib after renaming and cleaning things up?

Chris Missal

unread,
Jan 21, 2014, 9:48:46 AM1/21/14
to webapi...@googlegroups.com
Good stuff Jordan! I think it looks like a valuable project that is a great addition to WebApiContrib. I'd be in favor of adding it to the family.

Anybody opposed?
Chris Missal | Senior Consultant | Headspring

Jordan Gray

unread,
Jan 23, 2014, 8:06:56 PM1/23/14
to webapi...@googlegroups.com
Thank you Chris, I'm glad to hear that!

So far, nobody has stated any reservations about including this project in WebApiContrib (which I'm very happy about!), so I'll expand a little on the current development status of the project.

Based on my plans for the rest of the week, I plan to spend a few hours on this project on Sunday with a view to hitting the v1 milestone by the end of January. The main goal is to get the project into a state where I feel confident that it's stable and suitable for wider consumption.

Given this, and assuming no objections are raised, would it be best to rename/transfer the project prior to hitting that milestone or afterwards? Also, is it worth continuing to work on the project website if it is going to be transferred to the WebApiContrib project? (I ask because I'm not sure if you consider it preferable for sub-projects to maintain their own sites or to fold existing documentation/promotion into your existing resources.


On Tuesday, January 21, 2014 2:48:46 PM UTC, Chris Missal wrote:
Good stuff Jordan! I think it looks like a valuable project that is a great addition to WebApiContrib. I'd be in favor of adding it to the family.

Anybody opposed?

<snip/>

ryan....@panesofglass.org

unread,
Jan 23, 2014, 9:09:22 PM1/23/14
to webapi...@googlegroups.com
Thanks, Jordan! We don't have any rigid requirements. Feel free to transfer at any time. I don't recall what transfer requirements GitHub enforces, so you may need to let us know to make you an owner in order to transfer. Afterward, I'll add you as a contributor to that project.

Please feel free to continue working on the website. We only have a project site at present, and it doesn't contain a lot of content.

A few other things to note, all of which are suggestions:
  • If you transfer under WebApiContrib, we would expect you to continue to maintain the project, both in terms of docs and bug fixes. We have a number of projects we rolled in that now require a few of us to maintain, and we don't really have the time to do them all justice.
  • Feel free to retain any copyright to the original source, though future contributions may amend that copyright. We don't have any sort of agreement in place to transfer copyright to the original owner.
  • We will allow others to contribute who have owner or contributor rights to the project. Is that okay?
  • You can follow either a pull request flow for your own code or just push directly as you do now. We don't have a standard workflow, though we often follow the PR method to facilitate comments / review.
  • Chris runs the CI builds on myget and generates NuGet packages upon request.
  • Most of our projects have a standard psake build, though that's not strictly required.
  • You don't have to conform to our project layout, though that would be nice for any additional contributors.
  • Remind us we need to actually formalize and post these guidelines. 😊

Thanks again!

Ryan

Sent from Windows Mail
--

Jeffrey Palermo

unread,
Jan 23, 2014, 9:40:02 PM1/23/14
to webapi...@googlegroups.com
My answer is absolutely YES. This has been needed in MVC, and it is just another common return type. 

Regards, Jeffrey Palermo

Please pardon the run-on sentences email dictated with Siri on iPhone

--

Jordan Gray

unread,
Jan 27, 2014, 8:45:02 PM1/27/14
to webapi...@googlegroups.com
On Friday, January 24, 2014 2:09:22 AM UTC, Ryan Riley wrote:
Thanks, Jordan! We don't have any rigid requirements. Feel free to transfer at any time. I don't recall what transfer requirements GitHub enforces, so you may need to let us know to make you an owner in order to transfer. Afterward, I'll add you as a contributor to that project.

Please feel free to continue working on the website. We only have a project site at present, and it doesn't contain a lot of content.

Great—I'll do it when I hit the first project milestone this weekend. All that remains is to improve unit test coverage and review the documentation.

  • If you transfer under WebApiContrib, we would expect you to continue to maintain the project, both in terms of docs and bug fixes. We have a number of projects we rolled in that now require a few of us to maintain, and we don't really have the time to do them all justice.

I don't mind continuing to maintain the project. Actually, I plan to make quite a few improvements over the next three months—things like deep serialisation of complex types, significantly expanded formatting options and, ultimately, the ability to deserialise well-structured Excel documents.

  • Feel free to retain any copyright to the original source, though future contributions may amend that copyright. We don't have any sort of agreement in place to transfer copyright to the original owner.
  • We will allow others to contribute who have owner or contributor rights to the project. Is that okay?

I'd love to see more people contribute to the project! Copyright… doesn't really bother me, so long as anyone who wants to can use the library. :)
 
  • You can follow either a pull request flow for your own code or just push directly as you do now. We don't have a standard workflow, though we often follow the PR method to facilitate comments / review.

Hmm… Pushing directly would be easier, but, I could certainly use some input on a few of those plans. Let's go with a pull request workflow!

  • Chris runs the CI builds on myget and generates NuGet packages upon request.
  • Most of our projects have a standard psake build, though that's not strictly required. 
  • You don't have to conform to our project layout, though that would be nice for any additional contributors. 

I'll bear those points in mind. I've never actually written a psake build—would anyone mind lending advice if I get stuck with that? Also, if you have any guidance or particular points on how you layout projects, I would appreciate it, even if it's not formalised!
 
  • Remind us we need to actually formalize and post these guidelines. 😊

I will! :) Actually, if you want, maybe I could help or make suggestions down the line?

--
Jordan

ryan....@panesofglass.org

unread,
Jan 27, 2014, 10:01:32 PM1/27/14
to webapi...@googlegroups.com
Yes, please do give feedback. If you look at most of the projects, the project layout should be nearly identical. The tools folder includes our standard psake build scripts. I think you would want to tweak the default.ps1 file to specify your correct build info. I did most of that when splitting up the original all-in-one solution into the many solutions we now have on GitHub.

Jordan Gray

unread,
Feb 1, 2014, 10:38:16 PM2/1/14
to webapi...@googlegroups.com
Hi Ryan,

I've renamed and reorganised the project to better match the other WebApiContrib projects, and the remaining issues from the first milestone are now closed. I haven't added a psake build yet, but it's on the list for the next milestone.

The only thing left to do now is to transfer ownership; however, when I try to change the owner to WebApiContrib, I'm informed that "[y]ou don't have admin rights to WebApiContrib". Should I go about it differently, or would you be happy giving me admin rights to make the transfer this way?

ryan....@panesofglass.org

unread,
Feb 1, 2014, 10:39:52 PM2/1/14
to webapi...@googlegroups.com
Yes, we can grant admin rights. I can probably get to it tomorrow; I'm currently fighting off illness. Thank you for your contribution!

Chris Missal

unread,
Feb 1, 2014, 11:46:37 PM2/1/14
to webapi...@googlegroups.com
I just added you Jordan

Jordan Gray

unread,
Feb 2, 2014, 3:28:31 PM2/2/14
to webapi...@googlegroups.com
Thank you Chris! I've transferred the project to WebApiContrib now. I'll continue to contribute and maintain things, and will update the project docs/wiki soon with details of this project.

On that note, any help/advice/chastisement will be appreciated as I get used to doing things the way you prefer them to be done. :)

anthony...@lpsvcs.com

unread,
Jul 21, 2014, 1:52:32 PM7/21/14
to webapi...@googlegroups.com
Hello,

This may be a silly question, but I don't see a license anywhere in the souce or project site for the XlsxFormatter.  Is it inherited from the WebApiContrib project or missing or something else I missed?

Thanks,

Tony

Pedro Reys

unread,
Jul 21, 2014, 2:25:20 PM7/21/14
to webapi...@googlegroups.com
Hey Tony,

It should be the same MIT license as the other projects.

Thanks for letting us know that the XlsxFormatter repo is missing the license file. I will add it shortly.

Pedro

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "WebApiContrib" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webapicontri...@googlegroups.com.
To post to this group, send email to webapi...@googlegroups.com.
Visit this group at http://groups.google.com/group/webapicontrib.
For more options, visit https://groups.google.com/d/optout.

Jordan Gray

unread,
Sep 22, 2014, 5:45:37 PM9/22/14
to webapi...@googlegroups.com
Hey,

Sorry for the wait on this, life (and lack of an MSDN account) intervened! I've added added the MIT license as requested. :)


Kind regards,

Jordan

Jordan Gray

unread,
Sep 22, 2014, 5:54:12 PM9/22/14
to webapi...@googlegroups.com
(And urgh, sorry about the double "added" there.)
Reply all
Reply to author
Forward
0 new messages