Fixing edeliver Failed to build release: :no_releases error

If you deploy your Elixir/Phoenix project with edeliver you probably faced small issue which looks like this:

This is settings error and please follow this checklist of 2 items to fix this issue:

1. Ensure you have release configuration file rel/config.exs. If not – run mix release.init command to create one
2. Ensure you have APP variable equal your application name exactly.
in the file config/config.exs:
config :swissbanks, ...

and .deliver/config must contain line:

In my case issue was in the .deliver/config which contained APP="swissbanken" 🙂

Ueberauth OAuth2 Authentication for Elixir project with LINE Messenger

Hello Elixir fellows!
Released yesterday first version of the ueberauth_line package for oauth authetication for your elixir project.
Installation and using is pretty straightforward, you can use any of other Ueberauth tutorials, like Ueberauth for Facebook.

Tricky thing in using LINE OAuth is setting up LINE Channel and handling errors because they are now really readable (they put error codes in the URL, so keep an eye on your browser address bar).
Be sure you went every step described here in the LINE web login settings very carefully.

Please not that LINE doesn’t provide user email address so we need to mimic it with the LINE user ID and if you need an email for user you’ll need to implement additional step of adding an email.

Add Facebook Open Graph tags to Phoenix Framework web page

Hi there,

This is very easy:

1. Create a function in LayoutView web/views/layout_view.ex:

Here I was using content_tag function but it created closed </meta> tag which I don’t really like.
In the else clause you can put some default OG tags, I put only fb:app_id fir the start.

2. Add this function to the app layout template web/templates/layout/app.html.eex:

Where assigns is the map which contains almost everything you need to render the view.

3. Update your controller function with OG tags tuple and pass it to template like this:

I guess the code here is self-explanatory (I used code from my pet-project
If you have some thought how we can improve the code above feel free to post a comment here 🙂