Forums Instiki

migration to Rails3.

Subscribe to migration to Rails3. 6 posts, 2 voices

 
dzonekl 5 posts

Hi,

I am using Instiki, as a sort of content backend for my website. It’s a base for the website application, which needs additional functionality, which I would like to build on the latest rails 3.x. So I rolled up my sleeves and started to migrate Instiki to Rails 3, which is now almost complete. The approach is pragmatic, fixing things when they break in Rails3. I have recorded all the adaptation, and this could be a check list to ‘replay’.

So here is the thought. I would like to share this experience and help out if there is a interrest to push the original instiki to Rails3. I would however need some help from the original developers.

I can clone the original, but then would like to push it back to the original git, of course in another branch, and when all ok, that could become the new official version… what do you say?

Cheers Christophe

 
dzonekl 5 posts

edited 11 years ago

Hi, (Jacques, I hope you are reading this!)

I am running into a tricky problem in the Rails3 migration. As you likely know, Rails 3 doesn’t load the /lib directory when starting. There are 2 options to auto-load. 1) In application.rb (which is required by Rails 3) put in a config parameter to load. There are some caveats as the names of the files versus the names of the class. 2) there is now a /config/initializers directory, and .rb is executed here.

What I have done now is:

1) config/application.rb

config.autoload_paths « ”#{Rails.root}/lib” config.autoload_paths « ”#{Rails.root}/lib/chunks”

This will load most files, except InstikiErrors and WikiContent as the naming of the files doesn’t fit the rails loading algorithm. To load these I use:

2) config/instiki_init.rb

Load the Instiki lib

require ‘instiki_errors’ require ‘wiki_content’

(I also had to rename the wiki.rb class in /chunks/wiki as rails would complain, the file should declare the Wiki class ) “Expected /Users/Christophe/Documents/Spaces/netxforge_aptana/com.netxforge.store/lib/chunks/wiki.rb to define Wiki

This /lib classes are loaded, however I run into a problem when saving a page. What happens is that somehow the methods in WikiChunck Module are not available .. so it seems the mixin of this module into the WikiContent class is not working well… I know it’s a fuzzy description but I get for example the following error. You see this occurs in the PageRenderer, when calling ‘update_references’ while prior to that the method ‘render(…)’ is called which creates the variable ‘rendering_result’ correctly created. (Also some of the mixin methods should have been called by then). I am really puzzled about this. I even consider rewritting it, so that mixin is not used. (I actually wonder why a mixin solution was chosen here, it’s not code re-use is it?).

Can you help me fix this?

Here is the error:


NoMethodError in WikiController#save

undefined method `find_chunks’ for #<ActiveSupport::SafeBuffer:0x007ff4863dc368>

Rails.root: /Users/Christophe/Documents/Spaces/netxforge_aptana/com.netxforge.store Application Trace | Framework Trace | Full Trace

lib/page_renderer.rb:122:in wiki_links' lib/page_renderer.rb:102:in find_wiki_words’ lib/page_renderer.rb:150:in update_references' lib/page_renderer.rb:141:in render’ lib/page_renderer.rb:29:in display_content' app/models/page.rb:30:in revise’ app/models/wiki.rb:79:in revise_page' app/controllers/wiki_controller.rb:325:in save’


Teaser below :-), Instiki on rails3.

Layer 1 <image height='103' id='svg_11512_1' width='643.999998' x='0' xlink:href='data:image/png;base64,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7VpBlwYzfvjo/64c63oFYNaoDGw6fhARyd7o4fBgH9x/l3zVOd/U49/jQLYr+o4bh35OleNWq1FLOLY207h7G6sf30PGyGiPFyb8jKCgtbiSEw96tUjvFt+hnvB7cSomD++knWhZm+Rv2vq3vXsKsXv2C5gTQVMBHsrAOFq95XX1UtkVArZ0w6L5i2BXudulwuyqS4Rqc79Wgm+1kbW6NB7LwQSYwGNFgIdUPFbNyZVhAkyACTABJsAEmAATYAJMgAkwASZQPQjwpJHVox1YCibABJgAE2ACTIAJMAEmwASYABNgAo8VATY4PFbNyZVhAkyACTABJsAEmAATYAJMgAkwASZQPQiwwaF6tANLwQSYABNgAkyACTABJsAEmAATYAJM4LEiwAaHx6o5uTJMgAkwASbABJgAE2ACTIAJMAEmwASqBwE2OFSPdmApmAATYAJMgAkwASbABJgAE2ACTIAJPFYE2ODwWDUnV4YJMAEmwASYABNgAkyACTABJsAEmED1IMAGh+rRDiwFE2ACTIAJMAEmwASYABNgAkyACTCBx4oAGxweq+bkyjABJsAEmAATYAJMgAkwASbABJgAE6geBNjgUD3agaVgAkyACTABJsAEmAATYAJMgAkwASbwWBFgg8Nj1ZxcGSbABJgAE2ACTIAJMAEmwASYABNgAtWDABscqkc7sBRMgAkwASbABJgAE2ACTIAJMAEmwAQeKwJscHismpMrwwSYABNgAkyACTABJsAEmAATYAJMoHoQYIND9WgHloIJMAEmwASYABNgAkyACTABJsAEmMBjRYANDo9Vc3JlmAATYAJMgAkwASbABJgAE2ACTIAJVA8CbHCoHu3AUjABJsAEmAATYAJMgAkwASbABJgAE3isCLDB4bFqTq4ME2ACTIAJMAEmwASYABNgAkyACTCB6kGADQ7Vox1YCibABJgAE2ACTIAJMAEmwASYABNgAo8VATY4PFbNyZVhAkyACTABJsAEmAATYAJMgAkwASZQPQiwwaF6tANLwQSYABNgAkyACTABJsAEmAATYAJM4LEiwAaHx6o5uTJMgAkwASbABJgAE2ACTIAJMAEmwASqBwE2OFSPdmApmAATYAJMgAkwASbABJgAE2ACTIAJPFYE2ODwWDUnV4YJMAEmwASYABNgAkyACTABJsAEmED1IMAGh+rRDiwFE2ACTIAJMAEmwASYABNgAkyACTCBx4oAGxweq+bkyjABJsAEmAATYAJMgAkwASbABJgAE6geBNjgUD3agaVgAkyACTABJsAEmAATYAJMgAkwASbwWBFgg8Nj1ZxcGSbABJgAE2ACTIAJMAEmwASYABNgAtWDABscqkc7sBRMgAkwASbABJgAE2ACTIAJMAEmwAQeKwJscHismpMrwwSYABNgAkyACTABJsAEmAATYAJMoHoQYIND9WgHloIJMAEmwASYABNgAo8RgXu4d8/4PyAfV85EIiW/1EidRVojpx7o8MPNT9TtUQiPhpy618nDp6rLIDc5BjHJuUYKqfgauXevCLm5ucjNLzGSh6HDlK/BwyXIF3nl5hs+XzaNgfupbJSHu1+MhKhIRCVkqbOV26l8GeWP6zLXjV/2+F+7jUqRHBN5n/bULZm3/0kCpv9k4Vw2E2ACTIAJMAEmwASYwONHIHLjTKwMv22kYrZ47f3e+HztFoyYtwr2luWjRW6cROl9sHjteDQof7rKR/Tyy4nG+q/OoVfg83BWVTkrFMXvwOtLwjBo5mcY/CAZVL3IB0rxaMhZgD0L5yNcsQGoOmP2B/6weqAaF+Pk9m+Q1WoI/FrWl3IoTtiDOavD4Tt5PvycSvDL5yGI8B6LJSNalishavsshJ72xIwlAZBT60dJPrkTn++IAEzoOFkQPAZMwEvdW+hH0tsTingefv1sIY46jcMH/m6aswXJJ/HF5zuQoj6icuqG1yYOQsMamij6G1lnsHDpNiiYlJOdx82Bv5uFsvsQf0sRuf0jbDldjCGvzaB8i/HL6oU4kAAMeG02ujuYqcvKRdiK5TiUUoRnJs9BbycLpJ/cguU7ImHdbRzeHqStc/LRr/H53mhYd6bjxCL95NcU7y5eW/gqHIzV+741qoH8qB8RElEbkxdOg9MD5XHfAvjkQyLABoeHBJKzYQJMgAkwASbABJgAE5AJNOszCUEdSmBufge/Bq/ESRs/BAW0gWlJCUpMrVE/YQdF9EF7+yckTwihxZkIRU4dmvUMwvi25qirHBC9u+ptE92IynmdX20vqjZP3fyyY4/j5MUsDDATeVIcJW0ly1DZdEHgeBe4NFWsFUKx1AinzU/J19CvSGCkHnqnlB36lYqgNBp5KV/taVkAXTbl5RSCKLJq2WjEU8qgA7JouiVpYmk2NJzLyKQjlEGZNRlIGxboO2UckpaGINN7JKYMdC9jbJDl1a2Xkl4pX3OuJAkHTkejbfsXJIOAAGXWqAMCRjaHcxNSkIuTcIUSd27rqGShiScOOHYdh5GtVKijPavZyo2RjQ2eQyZgeCd7XNr3Bbbs3YGYzm/DTdG9NbHFRi4p6MtJQS+SjnZ+xl57lowHS8nYYOY5BDOGd0Dptf9iecgBbD7YBtP8nLTxdLay4i9RjtYYMm4kKed0D0nnTGHTTN/YUI6JTh6GNo3FT/jlP5KxYeT0OWgvrCClCYhR1yUm4RYZHByk7BJ+CZGMDYATmtnLsiTGXpbOZUTHo4AMDuJo6c3jkrFBnGjWvJF0PjE6GrB+Bo3uYygoTj6K0CPmGBvgA0OY3QaPhn3Eahw4cROvdrWT8uU/1Y8AGxyqX5uwREyACTABJsAEmAATeKQJ1LF3Rh1Jx0rD3ULAtVNHeDhrFb2Tv5KyARv88NlcUv5TAfOmCJgehB6O5O5QmoJdoTtgP3Y6hC5y48w+bPh6JxIpH5jXg1ePUZgwrL10Th9SDo5t/QrbDl2EHLUp+r04Af1blWryy4/+EXPWnpSSLZk7E7QSpwoAAClOSURBVOYqL7w1+3nUuXEG61asRVS2CenLKviMmISX+3gYKAOI/nU7TpoORnuhh2VEY8uGrxB+RfbmsG3lh8lTh8HegBIVuWM59qMLetW5in0HLsCq5yvolv49wuuNxOuDXSWZ8uMPYumGFEyYOwaOSMLGD/6DVKfWQEw4RBH1XP3w1hvDYEP5FyUdxMLlJ+DUwQqR4XKdvfyDMKm/h5SXrpzRP36GHck2aFp8FuEXKSNd3hQ7+8oRfPHlFqkM1LOFK2nd9Tu9gvF9nKW89P8UInLfZqzfeVLm3NQXQUHkLSI8VUrvL7N+PvKemWkhbtJmx/buqG9B6mlpMrZ/8hXSHah3PP40Eqhb34o8AALVHgClWTHYsXU7TosTFKxdumHMix7Ys+QLyQMgfOsKnCsuRuexb8Axdg/Omj4DT+JVfD0WGWTOGGgv+0/cjNyDjd+fg+vQ8fBvC/z83T7YDp9soM3JeLCZPBs8RiKgawupTPc29Bt+DmQ/I6uGdKjMHwu0fXYi7GP2IXRvKpo7an024o7tQxE88FpAV9mTwq03xnqTYn0pAcVkcDCUXdIlUuLt/dDVrbxBQijlK746CwdqgMjIWJJDBe8h4zCiK8Ullls+2QKLp3rD6toJRMTn4enRU8lgUICj2zZjb6TsY2Ht4YsxL/jBjgovvXkUqw+kwHvsDNnYQDmW3oxFArHzoCyjz8WhtCsZHJJ/keJJFbduDntJ8HRciiyiNnFCRmwkrhf7kUEmHd+u3q3mY4UWjsJ/hOIJe4NvM4P1VUdGSX4qKBsUGTE4oIYTnqbLfVdyDiVhg4PCrbr98hwO1a1FWB4mwASYABNgAkyACTwmBErTonGW6tLqSRudGmXicqQwCSThrrMfpgcFoGlhInYcjpPilKbFIDwxEbVUpqRU78MHa3eixcggzJs3E+P7OePG9Vx1D69OlrQZuXEhQg8BL05/D/NmkvGiURHSS0yhm5/K2hbmFNfWxx/jh4/Cc4OfQq34fZj2wVqY9QzEomXLMHVQC3LN/woX8/Xzl/cycWrPRdwQiiYZRla+G4xT9Z/BzHnzMD1wBFRXo3FLVK1cyMS5I1dwJWwj1v1RDA+v1nB1eAInwxNRXKe2JvaNsweQmm2JBqQgl6ZdRXjqbVz5/QpajQpC4IhuuH0lDOFXZcESfz+BVOJ2PtUG48lYM6iVOc7uPII0KTcdOUHbBy8i8exh5DsPKcc7/8qPeGf5FhS1DsDM92YisKcTriSmwszGWiOXdqMUJ9fPwMqd59EncCbmTR8Lx8RDWBJ8kJToimXW5qPdyk26TGmt4KbuIS+9lYDTGblIOH8NboPHIWCAN3ITwhFxrUBovthA3hAX6j6NyUFBmBAwAGZJcci8ZwNHgVHlgmHPDkT/oc+irWMRzh2KRZrsDoCU2EsUoRVcSPePCVuN4C3hcPAbDf/2dii9dRWnU1LIAEXgy4b0aERQ5bp1c9eeUeepPVB2qwYa2jnQcKC7dMIZOvYGSBevylrPk8K0Jmnr9L+B0il9Fi5fJgFSwvD1li3YGXYcN3WuzaSzZ5GRm4L4u44YO2EsupFR4PTuvUig6VFKb8UhMiMDEbu3I6amPVq5ecCpQQ62vLcce7NbYPL02Zg+eQhZEQ5hzx/pVFYxDm/cC7gMwwj1sBRRs1txMcS2FXr2JctMQgyyitOx6fMDcPIdhm50mVi5OkueDMhNBJlG8NQzveFC5p34W/mI27kWkWadMfIZEoxYNBX2hiw5noeLPe0YDypVTSq3FplQjIe61tYoOh0lGZuMx+Iz/yQB9nD4J+lz2UyACTABJsAEmAATeIwJZFwRngxN4W6jozLkXMMpUsoHTf8Yg12lbnG0r7cFP6s5ZFw9R1tecKVu/MSth2nbFS1dHGFnYwm7/pPg018dUe8nB1GnqOe+1TPUg2qPBqQ4Dps+X4qRdkybn6rISlJeOvbqBU9p/oVMbJy2k4rwx1AfJxTlF8LOvSWwJ1kvd81OznWcop0+rRsDhZchYrVwcoKjnR1q2Nljdvs+mqh6G+o6+05dhOc91bNSZB5DIEUKcFOMMfm4dOI26nXxgKCSEiPLvWDNJPIFoVBqCtvt4WKLAsX9IxHm3aYieIyndKRJWguQLQSkZwK6cuZcvA/vTOxYvofyCcTsMe2lfJxNSTHcGYlWzepI+7p/SlPCsf5kIfymf6JuO2c8NygMSw6mSwaHzPvKrJuTdjslRlZm1fYG3LoaRSc9MH3xS2goopXWQNje03KCokyk0pZjEwc42NoScztM8+wuIiGdDA6qZl3h05LaT4TcKFygn67uQqmlCRAvpEDl6YUImptg7+k8DJhMcxE4yZ4HWYlymc0NTKJw8yp1sdOQgTY6wxdSrgnjWBPYkEOG8VCMmLMJkmeE0LGVYN6A2r8oHKFhNvB1qYfU6N+wOyIXVp3pGlIi6f4WF6Cmowc625Fmn5OEiEO76d8VBC15ifr0CxAbTfWieSlmq+elcOnthfCQi8gnG8Wtq8SWVP/Jc14FTa8ghbg9H4FmWMDIIZ1hWUKWC0sHNKPb80JCGt0HiTiQQfM0jPHWkaAUVy9SPZo/BadmlpQyHJ8vXI4ia1/M8bXGSjLyuQ2VDQe5ZPwpIlbNnVoIZNj9+QIcImNSwOy+yNtE96PHMKlNc1NEPGuNkUmnMKRHHUV4TA5Ma9VEyU0aBFNUjF1hNVHrLhlvajVF396eZbwiiqmKjWWDh25GvF1tCLDBodo0BQvCBJgAE2ACTIAJMIHHi8C18+TfYDsIjfXsDcL9vylaNxVqNYXSGxBe/p6tmogdXDtPWnOrsaSOkMt1r+fQ9HAIVs15C/do39ZrBIIm9TEwkWQddBrshcPffYd3p22nmPXQLWASxvRoqpdfPhkzUmELd0UgMgRcIOOH+a0jWLogjNLJoVb95qil7Oj85idHSbJL6VV26ORaC/u/+xhTt9+DuW0rvDhhPHzEsJAyIeeaXOdOrdTGBjqfqe5xby7GR4hQdAO/E4fWbcldnThcPSdz0Jgjrp6XZPcQ3IriEUmad4fhzURKKVy7REqw62DJOKErZ87l+/DOjJUMKP16tlKyQdLFP2i7AwzYG3D11C90rht6SoYiOUnJXdJspVCBzOpY+j+5iLmYC1VrN1JLRShFYlSs1MMuGRvoSMG1aOorJ+XUkTRmMxu0dVIhfO8XeG8vGRisXTA0IADt7W5B6MRPPiUrviKngpQYUmrt4SJ8/WloQUwKYUvZC0pGk0guJGODot5TmdFymbqGAZGHCDk3CLRVW525Bgpw6Qxl5tLF4OSScir6W0oyUTSPLk01h8SGQ/eXEHBnJ348/gO+PN4ATRuQhk/Buan22pAOKH/MHOD/6kvKHvq224n5oRG4erMUdo1u4RIlbz3QUXO+qER4VZhBZaplqRgbxNwS0edEeSrsWve5Jg1VEF1pboub0ZvoVGd42SlsRJRbuEJsXYaRka2GBVzpXo4gw93YGX5QJe2Rhqn4qYepJF0kE491dzQi00mpG7VFQgrZGALhaZWF1VIeMgspnqojFCOTjiAoystESno6LGrWxN3bZEwgY1H6zZtkULiLuxY2koOINHpDSlSKjCS6fuzrGTbW6GbM2/8YATY4/GPouWAmwASYABNgAkyACTzOBGjohLA3+LnruUQnR5FSYttNY4QoTbssTeY3vplQuNIgbBSuAc1lBcLGB7PXeCMnLY3Gch/E2u3b8VOkD8Z4lu99d6aJKtc8nY+0tESE/7AGYeR+3q3bBL38bkRT5vU6acrOp2USb9Mgi8A5S9C+vJ2gXOMknhPpFdltyIsiGANzMpGWfB6hwVvw/bFE+DzvUS6dVGeRTkePS70cSc4fgzXHStMukUGhHoY7iLoRB2FvIA5KuHGeDAHm7SDmqixKugTyb0B/jVUgExfJ86DpiCclbrpyJt6Hd37qVTKg1EMzxQPlXgkun6BeZa/uBow6gKQ41LOUPDBkudLwSxh5ZXRrSUMEMu4rs1IPvd/iFJzLJYW5laIwZ0HS/YdolfQUMbmgygNi3kdQ//igyR+gb24WbqVE47uQ3dj3+3W07phEcwyoEOCsNRlcjyKAVh2kuQVKb8aBTArw8H0GOHUAh7btQ9e3B6mNHFnSfAJOVKZO82jEVNWigoXeq4SsCzhEOnvnococH2JCT/3JPEVUMTSEdGwMa66YTpQMLODpF0D/xP49xOxcjpAUG/Rtr46nzASqRC/zW1pSQEesUK9ODRTT3AoptP1MMyt1rGIc/+k0eRcMQTOzLIQLO4oOS2XQhrXvRLztJwxb+iEmKpNsFep7TzlFwx+En9KQ5oJtDXQc6Aur2j5oSfafONE2cFMPGSHj0QXyW+jqInG0a+uLznfIW8KnoTQvhGAxpGkj+ivHs/JSjEx0SCc40HCnyT7ygdKEnZi92hTjXxpUxqtBnaA4DkcoY6/eTXRy4M3qRoDncKhuLcLyMAEmwASYABNgAkzgcSCQQ0MnqB7t2lDPqCbkI/osKajttEaItJgoOusFyd6QeQ0naa9d8wY0h8ExLP9sB+JT82DRoBHsGtB4bgpNG5W3DFz5cQ3W7DuDjLs10MC+MazNhNuCB2yytfmJtCVCcSzMR2Z2Nm6kZMKyaUtStwvx7daDSM0rRF52Ks7sW4/PfiSlu1xQy97JhRTuHPy4/DMcjL6BexZ10MjGRjKqqCzFDBFlg5JOW2cRg3QxsiukIJFkSSJjyhIa2gBzLzQR9gbiQKYNtNQdbvFHKszVwy3SLp+hszpeCGrW7aW5MpTyhJz35y3X/zbWrN2BkycPYs3cqdieSOuHtG9G+ZcP5nVIKb4tJh/MQElhBo6s/5jkrIcXh3pWKHPZ3EppYsfkC+eksfcNVCXyabVy66ZeyYD8FGjIQAZUpJxaUMyw1V/iaMxN3KtlhYaNGkpKqFktFU0uSFYLCnk5ucii3vDc0gLJc8KqrTy3gDy0wAND/HrjpcBhUGWEY82eGE2ZZPpBKyfDHgaSw0BREq5lFaEoNwHbV+0gfb8bersJJb8YR1fPwqyFO6V6SBmWFiM3NxfXpOvaHrXpTEFBqVwW/S1Iv4n03HySMwY7KW1IRB4tPfmCPHykIAYfzZqFj3aqZSuIw5YvdyIqOYuGSOQjOeoXrNlC0ro8gydJ4ZfmVqAS8m6lU5npNPfICskYMuTZDqiRdVUyFGhZChFMIaaLyDi+D5E3c1FUlIvkmOP48sswSf4awqJkZioblkR0Cunxwqjggub1ZXOMg48fekvzO8htA88nZU+PghRcJGcXDxdhVCDTRENP+A+Shz8oQzucxJIUFO8KxattmofkZDLKJIh/cUhOF4YU/VBE8cSkF9KP/ilpL+G/+8jMRcNN/palQQ0UyIceiAB7ODwQNk7EBJgAE2ACTIAJMAEmcD8CwnugyMQWHo11DARFifiDVoLw0jFCpMRehUmrEfJQAOpxNzFxxZM05KEkjdzZo/Zj6dz96mLM4Td+HnoYWAKiNhkj/ti4Dn/sUket54WguUOB1O2a/MSZeo5uMDl8DAtnHCOrxjismeSD/xvri483foe5v3+nTmyDF2Zre9jVB8mt4IYsuwf1DJfmkwJ4FT+tmA8llWO3AEwf7KyJrtlQ6uzRWHNIbNg394TJsWNYKmSh1TcIFuo/1VLyLBCeByYmrfCkZrhFGiLTTNDlBblXOjEqCbVoMgtFRZZZq+fK0JRHcZVtI7xh6YlJAb5Y+8N+hFx1REd3W2KWDfdm1nqyKjv2PZ6HX/gcfLN0Nr6RDtJEhe9Nh3A4yY++v8xKHsrv5V0fYeOZPKqnCQ5++SUc338bTW4l0r4LWihrJRbTkIFMul5a2kvM79DSlodDgqVhERQR9t5DMMnPCRakwNubRNCcAQvxo4k1Xp09DNF5JjRJIqWjkHktCSYuA8kLg0JDH0weFosVP2zAL14foEu+KNMJLcQSDQZCix5D4XJsA0KXzpXOmlh747Vpau8IGjYRk2gClXtTzRwCN0+EYsWPcXJcE2Djx4vQ4KlX8DYtESkMKPs/D5YmoRRLwaqcvDFuxjC4qZV5MQwkk+rVSdSXQmlBNpLjTiDyc1olQwR1nWeP8CEvglKav/EmHSzCD2s+xg7yjDAxsceQCbPRlepSEHNDrpfCUsrADH1eCUDS2m+wJXihdETwb9FzjOTtkSZMOHl39IYtZCZeh4mTr86QEikZ2VpSpLbx9JO9U4TsecReGvqijqL83BD87XtLeSh1xLHt+A9d+kqw6zmp3LKgpqpasHYy1fOQUuIjKxIhtJqG58gXeX0KDZTquWFC66+KIXEcmAATYAJMgAkwASbABJhAtSNQlJ8vKUDmlpYGXd41ApcWIV/MlFdDBUtLGndgJJRST3EhrV6hH6cIOZn5qGFZF5Y04WRlg8grv6gUKss6qEIyTfal+TnIpkkR69apoG6aFA93o7QoD3fNLNUKXRGOr52B0Pge+GTpMPKOMB7yaRhJEaVqQHI/aHhQFaSUJlG8U/wnzGrVhpleUxWTJ0EJVLS0pt7hBxVQL10p8m6TF4WZBWpbGDZM6EW/z44i/xNmtWChXwGjqYqpzsUFf+IJq9qw0FQuFetnBaPmyOkY61VP8qKwqIJsBXl5oBxRq7aWV/GNXzH386MImDEPbcgGVn1DKr6hukfS0JEPJnXRDLcQxhMO1Y8AGxyqX5uwREyACTABJsAEmAATYAJM4G8nEL1xGoLDxfATGgpSWEg94rYYM3c2nrI3brB5WELNoqEDHP4CAeozlnqNScl+mGq2xhD0kPP9CzXVS3o/+RYvXqwXl3eqBwE2OFSPdmApmAATYAJMgAkwASbABJjA/5RAUU4KLscm0fj/O6hp1RjubV1BcxFyeAQIlOYm42J8Ppxb0eSLD7HNitPjcCGxFK5tH26+DwtpLq0Uc4UWDnFu2xLqkSgPK2vO528iwAaHvwksZ8sEmAATYAJMgAkwASbABJgAE2ACTODfTIBXqfg3tz7XnQkwASbABJgAE2ACTOCRIyDcyrX/Hi3x81Ou4Ex0Ek15aDhkxkciOinH8MmqHtXjVNVp6woQFxmFmzorTFS1+L8rvrbtxXVQxVKUoRgiWcFNREUl6636WbncRLklyMvLRnZ2XsUyiDJLxCowFJ9Wg6mKyIbqJ+pfUphHZWfTfCxVya1yteNYD5cAr1LxcHlybkyACTABJsAEmAATYAJM4G8jkHZsPd4PFYuHysG8nitG/t9kPOX44BM4Knn9L34v71qOtfH++Gypo4HJHXPw05KVOOU3HSscpTUlHlykgiismB+KFE0OKjh1HoiX/H00K0poThnYKE3/A19s2Y0BQQthR0tQVpeQfnILlu+gpTGVoLKG76hX4NeSliytMNzElzTZYqz3WCwZ0RIJ/92I0EMOmLEkQDPxYoVZ0HShx9YvROjJVJrzw0QyfEGsCjNnEjwMXYKlKdj4wTyE0zAIJX49rxGYM6nPfScmFUaFlONr8UGoJT5aO0ZeYYSEK0o6gjkfbsFtmrnCxEQYPszhO34mnveRV/aoWH6O8b8mwAaH/zVxLo8JMAEmwASYABNgAkyACTwggWvnSdms1w1BQX1geisGu9ZvQeiH69F01etwlMbya3u99WftFz3BOtMLlt2lfd1J/oXCJ4UykweKw3I8Kkcofep6aOJLiqD6YLlzubh4Fmg6orXhpQ7zr+ECpenXpbmsyNK2fh308xV7ZaqhiZB7PYaMDSoMGDcRLVSFiDu5B3sjdmB/y9bwd6vYgpB19Qrl5Yk2djVkWcpw0BRU6Q2lXYSibDiRzND4eVooE1ejqf2tvDHh5a4wzU/FsV3bcCh0A5znvA2lWtq2KMuvDnwDAvCMowsJUIyESxlURT/UV8ShxpVb/T4y0PKw5282REDQBHg1bYD8uF8xb+UeHDiVAo8eBpT+jCSk1umGwFf8aJlXU1wOC8HasO34I80XTynLvirlq3/j932GJTsvSnvmXmP1DBOJf5yDg28A/q+XF+qapmJX8HIc2vwbBvvcf2WVMkXw7v+QABsc/oewuSgmwASYABNgAkyACTABJvDgBNJw/mwhbAd1g4c9KXf0b9yL0Zi1Ph5ZtNiE470k7Aj5AmEXqTuZQiu/QAQOa09qdyZ2LAxGrYAZ6O9M3dCZZ7B8aTgGznld6pXOif4RC79Kw6T54+FcIxUHv/4S208mUQ73YOs1CJNfGQyxcEV+/EEs3RCL3oNcEH3gKOLREkEzR6Ew4lusCT2EbFKk79V1xViNx0UJog9+gzXbw0HioZ5tPeqZBvyftKG/5UP+jVjp/MVdK7HzrFA4zdEtIAhjejRF5NZPsd9yIKYP9lAnFD3tyxF2txtmT+pRzoCREiXSe8HLzQFWtOXg5I8Tp1fTljyYoyAuDCv33MWr0wbJCndpMrYs2QLb56eidwsLJMZepbi1sXv1QkQn0JKYVi4ICBwLzzop+PqjbXAePRXdndSGi4IYfPnpdtg9OwWDWmrUd0ovh6y449i6dTdENoA1nhn3Knq7yfFiwr7EPlLgG9+9iNOxFEFljyETJ6CrgyGjSBZioykHXx+0cHCgvBxgPywRkV/IyrnIPfnkdqzbcZr8EOTg5DkAzwd0l+pYnHwKew5lYtT/eRIGmnSS3D88fR2liDcjf8G33x9AikiosoJHx8EYPcizvBeKyhmTZr+uzp2wNHeiVgLq2xhyb6ATNj6YPt1HE7+tV3MgLAk1TY3PdGnjPQIzXbyxYXkoGno015PBdfDrcNXkVgdtXc0RfqrY6BAdTVTe+McI8BwO/xh6LpgJMAEmwASYABNgAkyACVSBQOY1CGf6ju2ayonu5eHEAXIZMO+EZqbx+OytDxGW7oqp781D0AgfXAxbi01nMimuCsVpqUjPlZXtY9u+xpXbF3EuMZ/O5ePgV3tw27kNnE1TsH7qHGzP8sDMBcuwYGYAcHYPtp9Kk8q7cfYEUlPP4puQo7D0aInWpAze2D4XS0KjaOjBPCxb9B786lxB6Be/Sgpv5Nb5CN5+DF0CpmLmzCB0ayyycYWLDVkvDIQb50mbppAOZ0ydPhV+pFmGb/keSaU1UMvsFq4cPEfSyiHz5CZy609E94GdyxkbaHICxFzMhapzS8nYIAwncb8cAPXno3EDWZG/fuY4MvJqatKW3opDZG4G6kvnsxB3WWjeGajp1h8Txg6AdW4svj8UC5jVgQXFO3HpllqSYhz/OgSxuW7obMDYkBuzB0u/2A20HYbXgibjGY9iHAgJRVyxSJ6Fc8djkRIdgQLHZzBh3BDYF6Ug7Pg1dd5lfrIScZkOtW/dRD5xLx17d0RQ87ZFE6laxUi9AXQfOY7KCsK4Id5IiNyLY3EFUvyUCyeQQpeDJen6or4JdNTdsT6Kk39B8JYDcBo4jjxnJmNk9yZIu5l3HyW+FPEnj+Hgvo2Y+dZK1PUJwFCPOrJM9/2bjb1bwsjtwhPNGhiPaGljD2frmhBms5ZuxiOWpJ7EZlrW1baHt2bIhfFc+cw/RYA9HP4p8lwuE2ACTIAJMAEmwASYABOoAoGc65clT4HkP8Jx5EIGwn8OQ2JRLYyY4Yfkn5biIlrhvfljIPVZO46G34GTOHLxOmmoLeRSapGin3YEoeQlIcJd8SflKMLI7WDsMB9c2TUHJ2GL8aO6wbKUVHvLpqAOZJy6ehN4yhKX/kgkp4GxWDHpKUlRL6W8pryfCq+A6WhNTgv5JSo08yBjyJF8FGUew8pDqfCd+hGe91Qrow4q7Il/Eo0N2hvypfzNu03FkjGeQjK0eq4PwpaES94bLTy8qGc8CjfIDuCKaASvJ0kHTUcfRwOZFacgjpwFii7uw9fZR3H7Oin1tN95ZBB8Goqe9VzEXCiCdVcXzXwOt67G0HFPNBWOB7lJoNPwnTwffk5mdAAY1vm/+OLiVTJlPAknF+B0klCHnZAVuQu7SXMfEjQM5WdRSMfPIeFQeQdgMnkLiOAw0BcHog+hqIR2itTlTJgDP/KqEN4Xra1246iIaCDkpsRJhpyI3RtwveZdXI9NQK7KBeOC+qvrYQavQQNwIyEByTExyL0jtTBqmQqVrxixkRlQtR4oGWHSE0V9PaT6Jh0howXVxa25A2ytLWBn9xLaGyhfeygDZ4+G4WhsGu7QwbGDu1Ws8N/Lxr6P38GexPoYv/hlGPZx0ZaQGXuGdlxpGIaB9qUzJalnMH/OemQ3HYRlw7Q+D9oceKu6EBBXHwcmwASYABNgAkyACTABJsAEqjmBa1FiXgFzZESGg9RY2PUYgYA+vnCuU4gdwakw931BNjZI9chHPhkSbBqKAQXUMU+Gg7jYizh4kYYN+E/HmJKN+DL6Mk5m7SS9LgCdbXKw64RQos2x5eNFUhrpj0l99OnQjJTjG/idTnd7oY3GK+DqiXApyqUfVmLBD9okTT17IuUY9WTDB30VYwP5JpylmQPrdXLXG5OvSUX5R1L+HYY30xzKzxUDMFSkMJPtw5Zc8XEIadn5yNoRjFTzblg82LCiWZxCBgaK7dnBC9Y5ZxFNxgbPkTPg31493IEMEufIoNDWxV5dVikSo8h7wWWkZDTITbpMir093O1lY4NQ1q9dIY8Jt+ak2NeAgzOlO3ADucUJCN1ymoY40BAImuuhXChIk+ak6OrjrjlVnE/CqIOmHEfZ6wKlNxFDp598UpFLiSn/Jl0URgJ7dGjljIwTB8hsYoWxs1+Fm1rMhONbsHp3JM0RoUJT9ydR83okxXeCSxOKUJoAslGh9UB5CEVitKjvMGmoRf1u/WF/YjtCly+QCrL2GIBXX5KHYcgll/1rg2HT52MYDdXZGDgLoVsj0Pn1p/SGPuimuJd9BSFzluNkUVOMXzATPg0MsNJNQNvXhLdL034wNM1DauSPmEPzRpi4+mPR9P4VGzvK5M27/1sCbHD43/Lm0pgAE2ACTIAJMAEmwASYwAMQyEHUb2RU6BaE2WM8yqcng4I5tJ/2pUknyChB8yW0bizFrdMISNy5FonUa/zedFeU7FDh9omdWE86/Yh53UhZlL0ehNfA/MGyUqpbSFHSMXJxN4e/g9pbgU6W5OdQoX74OHhYOWXzyo9hdK6+1rhQegN/UFleHrI8unmL7aK0WJKtHga3UPKnORq+oxqQMaS56OQ2tSf/DXJyCCVjA9ldAuYFwJiz/a3YSxTTA/39hNLcGbXS52Dvtq3o1HoyWpDuXZBEvf80l4KboujT0AZZ/5ZlSyHvAFh3hsbeUBCLCFLWm/eW++UbNWtB+YcjZEUEUlTemOEn9suHgpSrZLiwgrMmI1Kkz56iiE3QgOokl9NBU44yzGEkDXMoH4RXhhgmMgJ+3d3IMmOPZFqF49tvTmLOSz6oURyDTWRscBkwGa92d5KSJ+yJpzkf3GBP+n1psjDCqODrKAxQ6bhE+rzTkKZyuzVsj2mL2yI3/Rbio/6LLXv34mCUF0a0lI1V5WVRjtD1RtcdLGtp2l9MWKk70Wdq9D4sCt6JQtdBWDB9cDnPhrLx5ZwzcfGkmKvEnSTWCTSE6OQPa7A+7Aq8RkzHpD6GDU46KXizGhDgORyqQSOwCEyACTABJsAEmAATYAJM4L4E8pMhRkJ0aGtrMFpN0sxux53HjbwS5KVGYuWH5LnQ1B+9pCEHKrR4Up73wXXEKMkLwqYNGS1uk0tB0xF4WmikZKwQeaQe/AFnbmSjsDAbSdFH8NlnP4LMCki7IFzcO6CZYg+gvdoNyYpRGEYTTMYjr7AQGTeuYMeaNTiZVkq5UWaF0TiXlIHsG5HY+Ol/yGBhi5ZNDU8umHb5IuVYB4WZVHZeBs7s+Bw7U00wYlRnWZmtYQNX0i9TryRKQyl6SDJTknKhGHEXUqj33kPd822G7i+NI/NCAr4g5VyaxaJUjGfIw82kdGTdjMHOFZ/TIA2aL6Ap1Uc9/wPq10ROPnmJZMVh+8pQGrrgjYHt5UETZvakxFPMFDJCDJgsewnQbrlg4ehG5oZc/HIoioZQFCH5zE6EROTCY9hA2NWQ55mw8nDRLEkpD+uQhzmUy6wgBReLyEPBTe39YNESr4z0RFH0DuyIygJyblNJgIW5KYrysxAZ9jVWh+fC3rOZlP/NODKi0HAQyd5Ac0EI34dWTg1Qmn4Sq7/cg4T0AtSq1xA29WpKRTuo57qQdtR/rvxIyv6+M0jNzkNe9g0c2fg5aAoFDOr+pBQj7eR6TJo0CQeTSFAKYrWJOZKxwQ8zx/igJCkJSfFJyMyXWgFl44shJTkZ2XS9REueIU62psjLk/OiKxAb576lNjZMxbNtLJFE+cUnpUCdnVQm/6l+BLRm0OonG0vEBJgAE2ACTIAJMAEmwASYABHIJyUsm4Y3tDI4254l+k4ei98/2Ij50/dLvMxbUY/y1P6aHuKSu0XU8+yDF/vI3gumpjWlnuiBAV3UcWgJyf8LRPwn67Bu/gwN85YDp0iK+/krSajl01/Pq8Cxz0SMSFiO70KW4rCSwqYn5lrXgM1T/dH0p3UIWThbOQOT+u3QzLC9gVaFuE7yFFJ8pex68A9apDNHgyksyDuBXDwQZGQohVRQaSbib5rAZbC6914ctHAj5dwbH2//AfviWmOQMBiYRGDvF8uxl4Yf2DcoprI90LwRGV6KryMuj5aFzNuH5Qv2SlmaWHtj8owR2jkayGCRR2esu01Ad0NDKaRU9MfMDc8/44EvD4Ri7iHap/UwPQdMQIAPGS7IIyGaymnloTYg0Om0a0kwcRmoLUfJh34LUmKQZ2KFJyWLgXyiYfvhGHDmPPZt/B4+H/qjs7UJIshQE7nDBCqy9whPA3f1sJHk+ESaq/EFaQhFwS3aNnFCCzszmjySTC9xx7B6ufCHEWlU6EZzXRgaIpKVn4HfD6/D77vk8mnADvynLkB/V7lRM64mUHpXtJDmXaAhNL9FSTIgdj+WzpWvS5HyqSnLMIaG2ujHpxP5MVg0e4W0UgklxO8hC/G7eU8sC34edXKu42KavFznH9+twh/fKTI44q0Vs+EqbGYcqiUBE3JjkZdbrZbisVBMgAkwASbABJgAE2ACTIAJVI5AEXIy82nag7qoI5YieMCQn5NDfc01YFnHUuMqf7+sSovIE4A6olWWllDpFSvkKYKqQR2N4eN++YhzUl7UZV02TcaZjXh3bTgN/1iFPka9G+TcK6XelBbjdm4xzKxqw0JPZq2ExQV5KP7TDLVrC0uHEkrx2/r3sDuJhlLMG06DQCoOpcV5yC0guweVZWakrIpzqUyMUuTdvoMnLGqRcaZqBRUXFED4fagsxCwVctAdGqEpvbQU+eT5Ia6POnR9cGACFRFgg0NFhPg8E2ACTIAJMAEmwASYABNgAv8cgZwzmPb2WtSV5peoeNz+rFmz/jZZFWOGQWX8byv1n8l48eLF/0zBXOpjRYANDo9Vc3JlmAATYAJMgAkwASbABJjA40WgNDMep2ML4e6jzMvwz9XvZkwk0mo0hmcLeT6Hf04SLpkJPBoE2ODwaLQTS8kEmAATYAJMgAkwASbABJgAE2ACTOCRIsCrVDxSzcXCMgEmwASYABNgAkyACTABJsAEmAATeDQIsMHh0WgnlpIJMAEmwASYABNgAkyACTABJsAEmMAjRYANDo9Uc7GwTIAJMAEmwASYABNgAkyACTABJsAEHg0CbHB4NNqJpWQCTIAJMAEmwASYABNgAkyACTABJvBIEWCDwyPVXCwsE2ACTIAJMAEmwASYABNgAkyACTCBR4MAGxwejXZiKZkAE2ACTIAJMAEmwASYABNgAkyACTxSBNjg8Eg1FwvLBJgAE2ACTIAJMAEmwASYABNgAkzg0SDABodHo51YSibABJgAE2ACTIAJMAEmwASYABNgAo8UATY4PFLNxcIyASbABJgAE2ACTIAJMAEmwASYABN4NAiwweHRaCeWkgkwASbABJgAE2ACTIAJMAEmwASYwCNFwPSRkvYfEvbevXvlSjYxMSl37N9woGos7sEAOvwt7Kigsq30t5Tzb2hkriMTYAJMgAkwgf9vhw4JAABgEICZl6f1JQWQKzAxAwYMGDBgYDBwSQYMwoABAwYMGDBgwIABAwYMGDDQgQcDncSQb7T3VwAAAABJRU5ErkJggg==' y='85.999996'></image>
 
dzonekl 5 posts

Ah, found the problem for the issue, I reported earlier. … (took me the better part of the morning grrrr…). Ok, so WikiContent extends ActiveSupport::SafeBuffer. Now this class changed in Rails 3, overriding (Or opening up in Ruby Parlence) with the following code:

def html_safe ActiveSupport::SafeBuffer.new(self) end

So, this produces a different Class type, hence the mixed-in methods get lost! and causes a problem in PageRenderer trying to call this method. Wow, I am happy I found this one.

the file holding this method is called: output_safety.rb in lib/activesupport/kernel. I couldn’t find the alternative for Rails 2.3, to prove my point. but regardless it now works, by commenting out this line in WikiContenr.render!

self.html_safe

BTW: The teaser screenshot is now shown, in my previous post.

 
distler Moderator 123 posts

This is extremely interesting.

Porting Instiki to Rails3 has long been on my TODO list. But (as you’ve seen), it’s not a small job. So it keeps getting pushed back in favour of other things. So I’m really happy you’re working on this!

 
dzonekl 5 posts

Hi,

I have it working (mostly), today spend some time fixing

  • asset pipeline for rails3
  • further clean-up
  • big issue running with passenger, rvm etc…

so, the test site is running here:

http://test.netxforge.com => This is the front site, which “presents” the wiki pages. http://test.netxforge.com/netxforge/list => The actual wiki

There are a some pending issues, with URL generator, making some links not working.. etc.. so still a bit of work….

Cheers Christophe

 
dzonekl 5 posts

edited 11 years ago

Here are the steps to follow:

Forums Instiki