Sign inSign up

rlauer/openbedrock

By rlauer

Updated over 1 year ago

Web development and templating package written in Perl

Image
0

1.2K

rlauer/openbedrock repository overview


Overview

openbedrock (Bedrock) is a web application framework written in Perl. Bedrock allows you to create HTML pages (or any other text files) by using various tags parsed by Bedrock's templating engine. Additionally, Bedrock provides components like built-in session management, database access and other plugins that make creating web applications easy. Some of the tags implemented by Bedrock are listed below.

On Deck (3.4.0)

  • New plugins!
    • BLM::QRCode - create QR codes for your app~
      <plugin:QRCode --size 8 https://www.treasurersbriefcase.com><var $QRCode.as_tag()>
      
    • BLM::Startup::S3
      • read and write files to S3 from your Bedrock pages
      • serve files from your S3 bucket
    • BLM::SNS - Send AWS SNS messages from your Bedrock pages
      <plugin:SNS --phone-number="+18888888888" "Hello World!">
      
    • BLM::SQS - Send messages to an AWS SQS queue
       <plugin::SQS --queue="fu-man-queue" "Hello World!">
      
  • More sample applets and recipes
    • demonstration of Bedrock's built-in autocomplete handler (Bedrock::Apache::BedrockAutocomplete)
    • recipe for creating and serving user specific session files
    • Bedrock Cookbook for application developers
  • Bedrock::Lite will become Bedrock::Core
    • Separation of core components with web application components to make use of Bedrock in scripts and daemons easier.
    • The 'Bedrock' CPAN distribution will require Bedrock::Core

What's New in 3.3.9?

  • The default image new includes a default session manager so you can experiment with persistent sessions. The default session manager users SQLite as the backend session store but you can choose from other managers like MySQL, Postgres. Redis, or roll your own!
  • A sample login application can be found by visiting http://localhost/register.
  • Documentation fixes
  • See the ChangeLog for more details.
  • minor bug fixes

What's New in 3.3.8?

  • <var --markdown $text> - considers $text to be markdown to be converted to HTML
  • fix to bedrock.conf so bedrock.cgi works
  • fix to bug in BLM::Startup::SessionManager that created a NULL constraint violation in BLM::Startup::SQLiteSession

What's New in 3.3.7?

  • Bedrock's DarkPAN repository where you can download a CPAN distribution of Bedrock
  • New options for the <var> and <null> tags
    • <var --flush $output> - flushes output buffer and outputs $output. Useful when creating JSON output using the --json option.
    • <var --lc $output> - lower case output
    • <var --uc $output> - upper case output
    • Ditto for the <null> tag when ingesting input - <null --uc $input.action>
  • Improved build for images, but still a bit of a work in progress
    • Fedora image now based on Fedora 42

Tag Listing

Tests

<if><else></if> <iif expr true-value false-value>

Looping

<foreach></foreach> <while> <case>

Exception Handling

<try><catch></try>

Creating Objects

<null:foo "Hello World!"> <array:foo 1 2 3> <hash:foo bar 1 buz 2 baz 3> <sink>

Templating

<var $foo> <include>

Database Access

<sqlconnect> <sqlselect></sqlselect> <sql></sql> <sqlcommit> <sqlrollback>

Standard Plugins

  • Session Management ($session)
  • Form input ($input)
  • HTTP headers ($header)
  • Configuration ($config)
  • Environment ($env)

Try Bedrock

The latest image is the same as bedrock-debian.

docker pull rlauer/openbedrock:latest
docker run -d -p 80:80 rlauer/openbedrock

...then in your browser visit http://localhost/bedrock/tags to learn more about Bedrock.

  • username: fred
  • password: flintstone

Create a LAMB Stack

Visit the project's Docker directory to learn how to create Linux/Apache/MySQL/Bedrock stack using docker-compose.

The Bedrock Project

https://github.com/rlauer6/openbedrock

Tag summary

Content type

Image

Digest

sha256:713927d3b

Size

461.3 MB

Last updated

over 1 year ago

docker pull rlauer/openbedrock