Live data from Hacker News

Ponzu – An open-source HTTP server framework and CMS in Go

github.com

21–30 of 43 posts

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#21

Earlier quoted context omitted.

I always thought that fields are generally poor for that - html is pretty good and has ways to structure all those things, and they can be extracted and styled for different clients.

HTML as a data entry format is error prone, and HTML as a cross-platform data source requires a lot of tooling and unreliability compared with a properly-structured field-driven JSON API

Any decent CMS would add tooling there (yes, they don't they just treat the HTML is WYSIWYG, but that is where the tooling should be)

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#22
post #17

Earlier quoted context omitted.

You can still do that with most field oriented CMS packages. The field interface is generally admin facing only. The user facing html templates have variables that map back to those fields. So, all the expression of HTML, but with the actual data in fields. Handy for things like addresses. You can render a map or just text, or both. The fact that it's structured data would allow for proximity searching. Where each "p…

It generally limits you though, eg one video per article etc.

Depends on the CMS. Many have repeating fields that you reference in an array style notation from templates, or via loops.

Others allow content relationships, where videos are their own object, set not to be published alone, but embeddable into, say posts.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#23
Hi all - Ponzu's author here. I was pleasantly surprised to see this post today. I'm reading through comments and will be releasing some video content as an overview of the CMS and server shortly - hoping to address any questions I see here.

If you get a chance to try it out and have questions or issues, I'm in the #ponzu channel in the Gopher's slack org: https://invite.slack.golangbridge.org/ feel free to ping me there or open an issue on Github.

Steve

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#24

> Automatic & Free SSL/TLS A couple of years ago, I wouldn't have believed we would be seeing essentially zeroconf TLS/PKI in software anytime soon. Letsencrypt, the "encrypt everything" movement, and people like Steve, Ponzu's author, have improved internet security tremendously at a time when it is critically needed.

Thank you, but all credit is due to the Let's Encrypt team. It is an amazing thing they have done.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#25
havent looked at the reqdme or rtfa, but ponsu, if i'm not mistaken, is a sauce in japan used for dipping, it consists of soy sauce and citrus/lemon/lime flavoring, great with raw, grated daikon radish.

in terms of this project, excellent, i actually wrote a lot of web apps using golang and found the main deficiency to be the templates, tried amber, ace, and even the default mustache/handlebars, but still think jade and haml beat those hands down. i did see a few ports of jade, but wqsnt certain about the stability or completeness of it.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#26
post #4

Does look pretty slick, but I imagine the flat nature of the content items will be limiting. In the example, song has an artist. But artist is a string vs a related content item. I can't tell if that's an MVP type decision and will change later, or a design decision that won't change in the future.

Hi - you can make a relationship using the built in addon package, github.com/bosssauce/reference

The reference is stored as a string (or []string if you opt for a reference.SelectRepeater input func), but the value stored as a reference is actually a URL path to the content as it would be accessed via the Content API. This becomes very powerful when you enable HTTP/2 Server Push, and declare the referenced content to be pushed when it's parent content is requested.

The underlying data looks like this:

Song

id: 1

title: "Take Me Home, Country Roads"

artist: "/api/content?type=Artist&id=2"

If you enable H2 Server Push by implementing the Pushable interface (add a Push method that returns a []string of the JSON field names to push), the server will know to make a response for the referenced Artist field and push it down to the client when the parent Song is requested.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#27
post #4

Does look pretty slick, but I imagine the flat nature of the content items will be limiting. In the example, song has an artist. But artist is a string vs a related content item. I can't tell if that's an MVP type decision and will change later, or a design decision that won't change in the future.

Hi - you can make a relationship using the built in addon package, github.com/bosssauce/reference The reference is stored as a string (or []string if you opt for a reference.SelectRepeater input func), but the value stored as a reference is actually a URL path to the content as it would be accessed via the Content API. This becomes very powerful when you enable HTTP/2 Server Push, and declare the referenced content t…

Ahh, okay. That seems straightforward. Might be good to reference that in the main documentation.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#28
Nice to see Ponzu getting some attention. I used Ponzu to create the GopherCon 2017 site this year (gophercon.com) and really enjoyed how easy it was to put content up quickly. I created Go helpers -- only useful if your website is in Go: github.com/bketelsen/ponzi && github.com/bketelsen/ponzigen

Overall A+ to Ponzu. I'm on my 6th ponzu site now, still love it.

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#29
post #27

Earlier quoted context omitted.

Hi - you can make a relationship using the built in addon package, github.com/bosssauce/reference The reference is stored as a string (or []string if you opt for a reference.SelectRepeater input func), but the value stored as a reference is actually a URL path to the content as it would be accessed via the Content API. This becomes very powerful when you enable HTTP/2 Server Push, and declare the referenced content t…

Ahh, okay. That seems straightforward. Might be good to reference that in the main documentation.

Definitely will -- thank you for taking the time to read through.. it's hard for me to know where the docs are too light sometimes. (besides generally everywhere)

Re: Ponzu – An open-source HTTP server framework and CMS in Go

#30
post #8

Couldn't see any authentication system in Readme, Is there any auth mechanism that can be used for API usage?

Auth for API usage is up to the user to implement, but you could borrow code from the internal system/admin/user package to do password based auth & check JWTs. All of the API interactions w/ the system have hooks (see here: https://github.com/ponzu-cms/ponzu/blob/master/system/item/i...) so you can do auth verification, data validation, etc all within the req/res lifecycle.
Post reply on HN